{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 高德API-Web服务\n",
    "\n",
    "- https://lbs.amap.com/api/webservice/summary/\n",
    "\n",
    "\n",
    "- 密钥：https://lbs.amap.com/dev/user/quota/manage\n",
    "\n",
    "\n",
    "- jsonviewer：http://jsonviewer.stack.hu/\n",
    "\n",
    "\n",
    "- 所有功能开源到个人gitee：https://gitee.com/Vicky923/API/blob/master/week05/AutoNavi_%E5%B0%81%E8%A3%85%E5%87%BD%E6%95%B0-181013056.py"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ① 获取地理/逆地理编码（geo/regeo）\n",
    "\n",
    "地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口，提供结构化地址与经纬度之间的相互转化的能力。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/georegeo"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 地理编码\n",
    "\n",
    "将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/georegeo#geo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '1', 'geocodes': [{'formatted_address': '广东省深圳市南山区世界之窗', 'country': '中国', 'province': '广东省', 'citycode': '0755', 'city': '深圳市', 'district': '南山区', 'township': [], 'neighborhood': {'name': [], 'type': []}, 'building': {'name': [], 'type': []}, 'adcode': '440305', 'street': [], 'number': [], 'location': '113.972976,22.534607', 'level': '兴趣点'}]}\n",
      "世界之窗经纬度: 113.972976,22.534607\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>formatted_address</th>\n",
       "      <th>country</th>\n",
       "      <th>province</th>\n",
       "      <th>citycode</th>\n",
       "      <th>city</th>\n",
       "      <th>district</th>\n",
       "      <th>township</th>\n",
       "      <th>adcode</th>\n",
       "      <th>street</th>\n",
       "      <th>number</th>\n",
       "      <th>location</th>\n",
       "      <th>level</th>\n",
       "      <th>neighborhood.name</th>\n",
       "      <th>neighborhood.type</th>\n",
       "      <th>building.name</th>\n",
       "      <th>building.type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>广东省深圳市南山区世界之窗</td>\n",
       "      <td>中国</td>\n",
       "      <td>广东省</td>\n",
       "      <td>0755</td>\n",
       "      <td>深圳市</td>\n",
       "      <td>南山区</td>\n",
       "      <td>[]</td>\n",
       "      <td>440305</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>113.972976,22.534607</td>\n",
       "      <td>兴趣点</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  formatted_address country province citycode city district township  adcode  \\\n",
       "0     广东省深圳市南山区世界之窗      中国      广东省     0755  深圳市      南山区       []  440305   \n",
       "\n",
       "  street number              location level neighborhood.name  \\\n",
       "0     []     []  113.972976,22.534607   兴趣点                []   \n",
       "\n",
       "  neighborhood.type building.name building.type  \n",
       "0                []            []            []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# A1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> geocode函数\n",
    "                   #有些值默认为None,可在调用时标注具体值\n",
    "def geocode(address,city=None,batch=None,sig=None)->dict:\n",
    "    \"\"\"获取地理编码\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/geocode/geo?parameters' # API服务地址\n",
    "    params={\n",
    "        'key': key,\n",
    "        'address':address,\n",
    "        'city':city,\n",
    "        'batch':batch, #批量查询控制\n",
    "        'sig':sig, #数字签名\n",
    "        'output':'json' #返回数据格式类型\n",
    "    }\n",
    "    response = requests.get(url,params=params) # API文档要求 请求方式：get\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用geocode函数\n",
    "# 思考：此功能运用了机器学习，可能会运用到一些需要位置信息的AI服务里\n",
    "世界之窗 = geocode(address='广东省深圳市南山区世界之窗')\n",
    "print(世界之窗)\n",
    "\n",
    "世界之窗地理编码 = 世界之窗['geocodes'][0]['location'] # 在地理编码中取出坐标点\n",
    "print(\"世界之窗经纬度:\",世界之窗地理编码)\n",
    "\n",
    "# pandas\n",
    "df_世界之窗地理编码 = pd.json_normalize(世界之窗['geocodes'])\n",
    "display(df_世界之窗地理编码)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 逆地理编码\n",
    "\n",
    "逆地理编码：将经纬度转换为详细结构化的地址，且返回附近周边的POI、AOI信息。\n",
    "\n",
    "POI：point of information OR point of interest 某个地理位置周边的信息（兴趣点）\n",
    "\n",
    "AOI：area of interest 地图数据中的区域状的地理实体(兴趣面)\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/georegeo#regeo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'regeocode': {'addressComponent': {'city': '深圳市', 'province': '广东省', 'adcode': '440305', 'district': '南山区', 'towncode': '440305003000', 'streetNumber': {'number': '9037号', 'location': '113.97382,22.5342261', 'direction': '东南', 'distance': '96.468', 'street': '深南大道'}, 'country': '中国', 'township': '沙河街道', 'businessAreas': [[]], 'building': {'name': [], 'type': []}, 'neighborhood': {'name': '世界之窗', 'type': '风景名胜;风景名胜;国家级景点'}, 'citycode': '0755'}, 'formatted_address': '广东省深圳市南山区沙河街道世界之窗'}, 'info': 'OK', 'infocode': '10000'}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>status</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>info</th>\n",
       "      <td>OK</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>infocode</th>\n",
       "      <td>10000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.city</th>\n",
       "      <td>深圳市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.province</th>\n",
       "      <td>广东省</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.adcode</th>\n",
       "      <td>440305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.district</th>\n",
       "      <td>南山区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.towncode</th>\n",
       "      <td>440305003000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.number</th>\n",
       "      <td>9037号</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.location</th>\n",
       "      <td>113.97382,22.5342261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.direction</th>\n",
       "      <td>东南</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.distance</th>\n",
       "      <td>96.468</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.street</th>\n",
       "      <td>深南大道</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.country</th>\n",
       "      <td>中国</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.township</th>\n",
       "      <td>沙河街道</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.businessAreas</th>\n",
       "      <td>[[]]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.name</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.type</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.name</th>\n",
       "      <td>世界之窗</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.type</th>\n",
       "      <td>风景名胜;风景名胜;国家级景点</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.citycode</th>\n",
       "      <td>0755</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.formatted_address</th>\n",
       "      <td>广东省深圳市南山区沙河街道世界之窗</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                      0\n",
       "status                                                                1\n",
       "info                                                                 OK\n",
       "infocode                                                          10000\n",
       "regeocode.addressComponent.city                                     深圳市\n",
       "regeocode.addressComponent.province                                 广东省\n",
       "regeocode.addressComponent.adcode                                440305\n",
       "regeocode.addressComponent.district                                 南山区\n",
       "regeocode.addressComponent.towncode                        440305003000\n",
       "regeocode.addressComponent.streetNumber.number                    9037号\n",
       "regeocode.addressComponent.streetNumber.location   113.97382,22.5342261\n",
       "regeocode.addressComponent.streetNumber.direction                    东南\n",
       "regeocode.addressComponent.streetNumber.distance                 96.468\n",
       "regeocode.addressComponent.streetNumber.street                     深南大道\n",
       "regeocode.addressComponent.country                                   中国\n",
       "regeocode.addressComponent.township                                沙河街道\n",
       "regeocode.addressComponent.businessAreas                           [[]]\n",
       "regeocode.addressComponent.building.name                             []\n",
       "regeocode.addressComponent.building.type                             []\n",
       "regeocode.addressComponent.neighborhood.name                       世界之窗\n",
       "regeocode.addressComponent.neighborhood.type            风景名胜;风景名胜;国家级景点\n",
       "regeocode.addressComponent.citycode                                0755\n",
       "regeocode.formatted_address                           广东省深圳市南山区沙河街道世界之窗"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# A2\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> regeocode函数\n",
    "def regeocode(location,poitype=None,radius=None,extensions=\"base\",batch=False,roadlevel=None,sig=None,homeorcorp=None)->dict:\n",
    "    \"\"\"获取逆地理编码\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/geocode/regeo?parameters' #API服务地址\n",
    "    params={\n",
    "        'key': key,\n",
    "        'location':location,\n",
    "        'poitype':poitype, #返回附近POI类型\n",
    "        'radius':radius, #搜索半径\n",
    "        'extensions':extensions, #返回结果控制\n",
    "        'batch':batch, #批量查询控制\n",
    "        'roadlevel':roadlevel, #道路等级\n",
    "        'homeorcorp':homeorcorp, #是否优化POI返回顺序\n",
    "        'sig':sig, #数字签名\n",
    "        'output':'json' #返回数据格式类型\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用regeocode函数\n",
    "# 思考：此功能运用了机器学习，可能会运用到一些需要位置信息和周边信息的AI服务里\n",
    "世界之窗逆地理编码 = regeocode(世界之窗地理编码)\n",
    "print(世界之窗逆地理编码)\n",
    "\n",
    "# pandas\n",
    "df_世界之窗逆地理编码 = pd.json_normalize(世界之窗逆地理编码).T\n",
    "display(df_世界之窗逆地理编码)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'regeocode': {'roads': [{'id': '0755F49F01804842', 'location': '113.974,22.5368', 'direction': '南', 'name': '深南大道', 'distance': '260.877'}, {'id': '0755F49F01804817429', 'location': '113.971,22.5321', 'direction': '东北', 'name': '红树街', 'distance': '353.453'}, {'id': '0755F49F0180483232', 'location': '113.976,22.5363', 'direction': '西南', 'name': '侨城西街', 'distance': '379.758'}], 'roadinters': [{'second_name': '深南大道', 'first_id': '0755F49F0180483232', 'second_id': '0755F49F01804842', 'location': '113.9762319,22.53642111', 'distance': '390.542', 'first_name': '侨城西街', 'direction': '西南'}], 'formatted_address': '广东省深圳市南山区沙河街道世界之窗', 'addressComponent': {'city': '深圳市', 'province': '广东省', 'adcode': '440305', 'district': '南山区', 'towncode': '440305003000', 'streetNumber': {'number': '9037号', 'location': '113.97382,22.5342261', 'direction': '东南', 'distance': '96.468', 'street': '深南大道'}, 'country': '中国', 'township': '沙河街道', 'businessAreas': [[]], 'building': {'name': [], 'type': []}, 'neighborhood': {'name': '世界之窗', 'type': '风景名胜;风景名胜;国家级景点'}, 'citycode': '0755'}, 'aois': [{'area': '403400.425621', 'type': '110202', 'id': 'B02F37V2O5', 'location': '113.972981,22.534662', 'adcode': '440305', 'name': '世界之窗', 'distance': '0'}], 'pois': [{'id': 'B02F37V2O5', 'direction': '北', 'businessarea': [], 'address': '深南大道9037号', 'poiweight': '0.872719', 'name': '世界之窗', 'location': '113.972981,22.534662', 'distance': '6.13752', 'tel': '0755-26608000;0755-88828242', 'type': '风景名胜;风景名胜;国家级景点'}, {'id': 'BV10242356', 'direction': '东北', 'businessarea': [], 'address': '1号线/罗宝线2号线/蛇口线', 'poiweight': '0.6', 'name': '世界之窗(地铁站)', 'location': '113.974216,22.536900', 'distance': '285.025', 'tel': [], 'type': '交通设施服务;地铁站;地铁站'}, {'id': 'B02F38IYUZ', 'direction': '北', 'businessarea': [], 'address': '深南大道9037号世界之窗欧风街1号楼', 'poiweight': '0.408358', 'name': '香蜜轩(世界之窗店)', 'location': '113.972853,22.536319', 'distance': '190.787', 'tel': '0755-25000333;0755-86383311', 'type': '餐饮服务;中餐厅;中餐厅'}, {'id': 'B0FFFSSP3B', 'direction': '西北', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.235905', 'name': '世界之窗-雕塑园', 'location': '113.971514,22.535663', 'distance': '190.649', 'tel': [], 'type': '风景名胜;风景名胜相关;旅游景点'}, {'id': 'B02F38JGB9', 'direction': '北', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.458474', 'name': '城市客栈(世界之窗店)', 'location': '113.973260,22.536299', 'distance': '190.39', 'tel': '0755-26929999;0755-26930594', 'type': '住宿服务;宾馆酒店;经济型连锁酒店'}, {'id': 'B02F37UJ41', 'direction': '北', 'businessarea': [], 'address': '深南大道9037号世界之窗欧风街广场', 'poiweight': '0.499967', 'name': '欧陆风情酒吧街', 'location': '113.973040,22.536080', 'distance': '163.935', 'tel': [], 'type': '购物服务;特色商业街;特色商业街'}, {'id': 'B0FFFSSQ4L', 'direction': '南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.399209', 'name': '世界之窗-西班牙戈地公园', 'location': '113.973965,22.532155', 'distance': '290.96', 'tel': [], 'type': '风景名胜;公园广场;公园'}, {'id': 'B0FFFSSP3W', 'direction': '北', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.235905', 'name': '世界之窗-欧风街', 'location': '113.972715,22.535287', 'distance': '80.231', 'tel': [], 'type': '风景名胜;风景名胜相关;旅游景点'}, {'id': 'B02F38NJK2', 'direction': '北', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.293026', 'name': '世界之窗-恺撒宫', 'location': '113.972692,22.535421', 'distance': '95.1236', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38NJ93', 'direction': '东南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.33854', 'name': '世界之窗-法国埃菲尔铁塔', 'location': '113.974285,22.533993', 'distance': '150.775', 'tel': [], 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38NJOE', 'direction': '南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.374201', 'name': '世界之窗-希腊雅典卫城', 'location': '113.972979,22.533173', 'distance': '159.449', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38NJ71', 'direction': '南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.364372', 'name': '世界之窗-巴黎春天购物广场', 'location': '113.973337,22.533226', 'distance': '157.958', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38NJBU', 'direction': '东', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.267135', 'name': '世界之窗-世界广场环球舞台', 'location': '113.974451,22.534470', 'distance': '152.26', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F37SCCQ', 'direction': '东北', 'businessarea': [], 'address': '深南大道9037-3号', 'poiweight': '0.394549', 'name': '肯德基(世界之窗店)', 'location': '113.974593,22.535591', 'distance': '198.892', 'tel': '0755-26923780', 'type': '餐饮服务;快餐厅;肯德基'}, {'id': 'B02F38NJF2', 'direction': '东北', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.248378', 'name': '世界之窗-世界文化浮雕墙', 'location': '113.974252,22.535449', 'distance': '161.05', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F37TZQ8', 'direction': '西南', 'businessarea': [], 'address': '白石洲二街18号(南山京基百纳广场旁)', 'poiweight': '0.617706', 'name': '丽景商务酒店', 'location': '113.971045,22.531849', 'distance': '365.244', 'tel': '0755-86103666;0755-86237222', 'type': '住宿服务;宾馆酒店;四星级宾馆'}, {'id': 'B02F38NJ9X', 'direction': '东', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.229332', 'name': '世界之窗-世界地图喷泉', 'location': '113.974800,22.535082', 'distance': '194.635', 'tel': [], 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F37USGC', 'direction': '东北', 'businessarea': [], 'address': '深南大道9037号世界之窗欧陆风情街', 'poiweight': '0.493015', 'name': '深圳世界之窗有限公司', 'location': '113.973905,22.536304', 'distance': '211.447', 'tel': '0755-88828242;0755-26608000', 'type': '公司企业;公司;公司'}, {'id': 'B02F38NJ99', 'direction': '南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.32422', 'name': '世界之窗-意大利罗马斗兽场', 'location': '113.973148,22.532918', 'distance': '188.633', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38NJLA', 'direction': '东南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.325762', 'name': '世界之窗-英国伦敦塔桥', 'location': '113.974545,22.533440', 'distance': '206.894', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38NJGW', 'direction': '西南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.234067', 'name': '世界之窗-金字塔探秘', 'location': '113.971602,22.533426', 'distance': '192.776', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38NJDO', 'direction': '东南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.252089', 'name': '世界之窗-俄罗斯冬宫', 'location': '113.974587,22.533756', 'distance': '190.591', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F38VMEP', 'direction': '东北', 'businessarea': [], 'address': '世界之窗地铁站厅J、K出口B1层', 'poiweight': '0.167859', 'name': '赛百味(世界之窗店)', 'location': '113.974565,22.536318', 'distance': '250.673', 'tel': '18899853060', 'type': '餐饮服务;快餐厅;快餐厅'}, {'id': 'B02F37TRST', 'direction': '东北', 'businessarea': [], 'address': '深南大道9028号', 'poiweight': '0.674293', 'name': '益田假日广场', 'location': '113.975127,22.537433', 'distance': '384.139', 'tel': '0755-86298000', 'type': '购物服务;商场;购物中心'}, {'id': 'B0FFFSSQK2', 'direction': '东', 'businessarea': [], 'address': '深南大道9037号', 'poiweight': '0.235905', 'name': '世界之窗亚洲区', 'location': '113.975827,22.534365', 'distance': '294.042', 'tel': [], 'type': '风景名胜;风景名胜相关;旅游景点'}, {'id': 'B02F38NJAF', 'direction': '南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.282977', 'name': '肯尼亚非洲野生动物园', 'location': '113.972292,22.532777', 'distance': '215.287', 'tel': '0755-26608000', 'type': '风景名胜;公园广场;动物园'}, {'id': 'B02F37W58K', 'direction': '北', 'businessarea': [], 'address': '深南大道9028号益田假日广场B1层B1-29', 'poiweight': '0.338282', 'name': '兴业银行(华侨城支行)', 'location': '113.973726,22.537935', 'distance': '378.012', 'tel': '0755-86299023;0755-86299016;95561', 'type': '金融保险服务;银行;兴业银行'}, {'id': 'B02F38NJDL', 'direction': '东南', 'businessarea': [], 'address': '深南大道9037号世界之窗门口处', 'poiweight': '0.248111', 'name': '法国罗浮宫玻璃金字塔', 'location': '113.974641,22.533384', 'distance': '218.5', 'tel': [], 'type': '风景名胜;风景名胜;风景名胜'}, {'id': 'B02F37W378', 'direction': '东北', 'businessarea': [], 'address': '深南大道9028号', 'poiweight': '0.594926', 'name': '深圳益田威斯汀酒店', 'location': '113.97548,22.537309', 'distance': '395.488', 'tel': '0755-26988888', 'type': '住宿服务;宾馆酒店;五星级宾馆'}, {'id': 'B0FFFEQ1OT', 'direction': '南', 'businessarea': [], 'address': '深南大道9037号世界之窗', 'poiweight': '0.271735', 'name': '世界之窗-游览车金字塔站', 'location': '113.972270,22.532845', 'distance': '208.92', 'tel': '0755-26608000', 'type': '风景名胜;风景名胜;风景名胜'}]}, 'info': 'OK', 'infocode': '10000'}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>status</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>info</th>\n",
       "      <td>OK</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>infocode</th>\n",
       "      <td>10000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.roads</th>\n",
       "      <td>[{'id': '0755F49F01804842', 'location': '113.9...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.roadinters</th>\n",
       "      <td>[{'second_name': '深南大道', 'first_id': '0755F49F...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.formatted_address</th>\n",
       "      <td>广东省深圳市南山区沙河街道世界之窗</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.city</th>\n",
       "      <td>深圳市</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.province</th>\n",
       "      <td>广东省</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.adcode</th>\n",
       "      <td>440305</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.district</th>\n",
       "      <td>南山区</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.towncode</th>\n",
       "      <td>440305003000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.number</th>\n",
       "      <td>9037号</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.location</th>\n",
       "      <td>113.97382,22.5342261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.direction</th>\n",
       "      <td>东南</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.distance</th>\n",
       "      <td>96.468</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.streetNumber.street</th>\n",
       "      <td>深南大道</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.country</th>\n",
       "      <td>中国</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.township</th>\n",
       "      <td>沙河街道</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.businessAreas</th>\n",
       "      <td>[[]]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.name</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.building.type</th>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.name</th>\n",
       "      <td>世界之窗</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.neighborhood.type</th>\n",
       "      <td>风景名胜;风景名胜;国家级景点</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.addressComponent.citycode</th>\n",
       "      <td>0755</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.aois</th>\n",
       "      <td>[{'area': '403400.425621', 'type': '110202', '...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>regeocode.pois</th>\n",
       "      <td>[{'id': 'B02F37V2O5', 'direction': '北', 'busin...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                                                                   0\n",
       "status                                                                                             1\n",
       "info                                                                                              OK\n",
       "infocode                                                                                       10000\n",
       "regeocode.roads                                    [{'id': '0755F49F01804842', 'location': '113.9...\n",
       "regeocode.roadinters                               [{'second_name': '深南大道', 'first_id': '0755F49F...\n",
       "regeocode.formatted_address                                                        广东省深圳市南山区沙河街道世界之窗\n",
       "regeocode.addressComponent.city                                                                  深圳市\n",
       "regeocode.addressComponent.province                                                              广东省\n",
       "regeocode.addressComponent.adcode                                                             440305\n",
       "regeocode.addressComponent.district                                                              南山区\n",
       "regeocode.addressComponent.towncode                                                     440305003000\n",
       "regeocode.addressComponent.streetNumber.number                                                 9037号\n",
       "regeocode.addressComponent.streetNumber.location                                113.97382,22.5342261\n",
       "regeocode.addressComponent.streetNumber.direction                                                 东南\n",
       "regeocode.addressComponent.streetNumber.distance                                              96.468\n",
       "regeocode.addressComponent.streetNumber.street                                                  深南大道\n",
       "regeocode.addressComponent.country                                                                中国\n",
       "regeocode.addressComponent.township                                                             沙河街道\n",
       "regeocode.addressComponent.businessAreas                                                        [[]]\n",
       "regeocode.addressComponent.building.name                                                          []\n",
       "regeocode.addressComponent.building.type                                                          []\n",
       "regeocode.addressComponent.neighborhood.name                                                    世界之窗\n",
       "regeocode.addressComponent.neighborhood.type                                         风景名胜;风景名胜;国家级景点\n",
       "regeocode.addressComponent.citycode                                                             0755\n",
       "regeocode.aois                                     [{'area': '403400.425621', 'type': '110202', '...\n",
       "regeocode.pois                                     [{'id': 'B02F37V2O5', 'direction': '北', 'busin..."
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 逆地理编码全部分析\n",
    "# extensions字段值为 all 时，返回地址描述、经纬度附近符合限定要求的POI内容、道路等级，可选择是否优化POI返回顺序\n",
    "\n",
    "世界之窗逆地理编码_all = regeocode(世界之窗地理编码,extensions=\"all\") # extensions=\"all\" ----> 返回所有结果\n",
    "print(世界之窗逆地理编码_all)\n",
    "\n",
    "df_世界之窗逆地理编码_all = pd.json_normalize(世界之窗逆地理编码_all).T\n",
    "display(df_世界之窗逆地理编码_all)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ② 路径规划\n",
    "\n",
    "路径规划API是一套以HTTP形式提供的步行、公交、驾车查询及行驶距离计算接口，返回JSON 或 XML格式的查询数据，用于实现路径规划功能的开发。 \n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/direction"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 步行路径规划\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/direction#walk"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)生态广场_location: 113.984546,22.538168 (终点)世界之窗_location: 113.972976,22.534607\n",
      "{'status': '1', 'info': 'ok', 'infocode': '10000', 'count': '1', 'route': {'origin': '113.984546,22.538168', 'destination': '113.972976,22.534607', 'paths': [{'distance': '1485', 'duration': '1188', 'steps': [{'instruction': '步行37米左转', 'orientation': [], 'road': [], 'distance': '37', 'duration': '30', 'polyline': '113.984358,22.537951;113.98408,22.537747', 'action': '左转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '步行18米右转', 'orientation': [], 'road': [], 'distance': '18', 'duration': '14', 'polyline': '113.984076,22.537743;113.984188,22.537613', 'action': '右转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '步行85米直行', 'orientation': [], 'road': [], 'distance': '85', 'duration': '68', 'polyline': '113.984188,22.537609;113.98375,22.537214;113.98375,22.537214;113.983585,22.537092', 'action': '直行', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '步行6米右转', 'orientation': [], 'road': [], 'distance': '6', 'duration': '5', 'polyline': '113.983581,22.537088;113.983537,22.537053', 'action': '右转', 'assistant_action': [], 'walk_type': '20'}, {'instruction': '步行7米右转', 'orientation': [], 'road': [], 'distance': '7', 'duration': '6', 'polyline': '113.983533,22.537049;113.983477,22.53701', 'action': '右转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '沿侨城西街向西步行558米向左前方行走', 'orientation': '西', 'road': '侨城西街', 'distance': '558', 'duration': '446', 'polyline': '113.983472,22.537005;113.983307,22.537183;113.983307,22.537183;113.983155,22.537344;113.983155,22.537344;113.983125,22.537383;113.983125,22.537383;113.983073,22.537435;113.983073,22.537435;113.983025,22.537487;113.983025,22.537487;113.982713,22.537847;113.982582,22.537943;113.982478,22.53799;113.982478,22.53799;113.9823,22.538025;113.98214,22.538038;113.98214,22.538038;113.981615,22.538012;113.981615,22.538012;113.981293,22.538003;113.981293,22.538003;113.980951,22.538008;113.98082,22.538038;113.980265,22.538251;113.980065,22.538294;113.980065,22.538294;113.979839,22.538294;113.97957,22.538207;113.97957,22.538207;113.978615,22.537873', 'action': '向左前方行走', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '沿侨城西街向西南步行298米右转', 'orientation': '西南', 'road': '侨城西街', 'distance': '298', 'duration': '238', 'polyline': '113.978611,22.537869;113.978503,22.537799;113.978503,22.537799;113.97806,22.537617;113.97806,22.537617;113.977648,22.537478;113.977648,22.537478;113.977244,22.537322;113.977244,22.537322;113.976862,22.537188;113.97674,22.537088;113.97674,22.537088;113.976688,22.537023;113.976688,22.537023;113.976562,22.536836;113.976458,22.536645;113.976458,22.536645;113.976337,22.536385', 'action': '右转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '沿深南大道向西北步行23米左转', 'orientation': '西北', 'road': '深南大道', 'distance': '23', 'duration': '18', 'polyline': '113.976332,22.53638;113.976237,22.536415;113.976237,22.536415;113.976124,22.536463', 'action': '左转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '步行50米右转', 'orientation': [], 'road': [], 'distance': '50', 'duration': '40', 'polyline': '113.97612,22.536463;113.975946,22.536046', 'action': '右转', 'assistant_action': [], 'walk_type': '1'}, {'instruction': '沿深南大道向西步行22米左转', 'orientation': '西', 'road': '深南大道', 'distance': '22', 'duration': '18', 'polyline': '113.975942,22.536042;113.975742,22.536115', 'action': '左转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '向西南步行123米右转', 'orientation': '西南', 'road': [], 'distance': '123', 'duration': '98', 'polyline': '113.975738,22.536115;113.975621,22.535937;113.975621,22.535937;113.975573,22.53589;113.975573,22.53589;113.975221,22.535412;113.975221,22.535412;113.975052,22.535187', 'action': '右转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '向西步行40米向左前方行走', 'orientation': '西', 'road': [], 'distance': '40', 'duration': '32', 'polyline': '113.975048,22.535182;113.974961,22.535226;113.974696,22.535317', 'action': '向左前方行走', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '向西南步行103米右转', 'orientation': '西南', 'road': [], 'distance': '103', 'duration': '82', 'polyline': '113.974692,22.535317;113.974488,22.535317;113.974345,22.535278;113.974206,22.535191;113.974171,22.535135;113.974171,22.535135;113.974132,22.535026;113.974158,22.534818;113.974188,22.53477', 'action': '右转', 'assistant_action': [], 'walk_type': '0'}, {'instruction': '向西步行115米到达目的地', 'orientation': '西', 'road': [], 'distance': '115', 'duration': '92', 'polyline': '113.974188,22.534766;113.973993,22.534679;113.973993,22.534679;113.973854,22.534614;113.973377,22.534592;113.973377,22.534592;113.973099,22.534592', 'action': [], 'assistant_action': '到达目的地', 'walk_type': '0'}]}]}}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instruction</th>\n",
       "      <th>orientation</th>\n",
       "      <th>road</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>polyline</th>\n",
       "      <th>action</th>\n",
       "      <th>assistant_action</th>\n",
       "      <th>walk_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>步行37米左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>37</td>\n",
       "      <td>30</td>\n",
       "      <td>113.984358,22.537951;113.98408,22.537747</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>步行18米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>18</td>\n",
       "      <td>14</td>\n",
       "      <td>113.984076,22.537743;113.984188,22.537613</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>步行85米直行</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>85</td>\n",
       "      <td>68</td>\n",
       "      <td>113.984188,22.537609;113.98375,22.537214;113.9...</td>\n",
       "      <td>直行</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>步行6米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>6</td>\n",
       "      <td>5</td>\n",
       "      <td>113.983581,22.537088;113.983537,22.537053</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>步行7米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>7</td>\n",
       "      <td>6</td>\n",
       "      <td>113.983533,22.537049;113.983477,22.53701</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>沿侨城西街向西步行558米向左前方行走</td>\n",
       "      <td>西</td>\n",
       "      <td>侨城西街</td>\n",
       "      <td>558</td>\n",
       "      <td>446</td>\n",
       "      <td>113.983472,22.537005;113.983307,22.537183;113....</td>\n",
       "      <td>向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>沿侨城西街向西南步行298米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>侨城西街</td>\n",
       "      <td>298</td>\n",
       "      <td>238</td>\n",
       "      <td>113.978611,22.537869;113.978503,22.537799;113....</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>沿深南大道向西北步行23米左转</td>\n",
       "      <td>西北</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>23</td>\n",
       "      <td>18</td>\n",
       "      <td>113.976332,22.53638;113.976237,22.536415;113.9...</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>步行50米右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>50</td>\n",
       "      <td>40</td>\n",
       "      <td>113.97612,22.536463;113.975946,22.536046</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>沿深南大道向西步行22米左转</td>\n",
       "      <td>西</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>22</td>\n",
       "      <td>18</td>\n",
       "      <td>113.975942,22.536042;113.975742,22.536115</td>\n",
       "      <td>左转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>向西南步行123米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>123</td>\n",
       "      <td>98</td>\n",
       "      <td>113.975738,22.536115;113.975621,22.535937;113....</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>向西步行40米向左前方行走</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>40</td>\n",
       "      <td>32</td>\n",
       "      <td>113.975048,22.535182;113.974961,22.535226;113....</td>\n",
       "      <td>向左前方行走</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>向西南步行103米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>[]</td>\n",
       "      <td>103</td>\n",
       "      <td>82</td>\n",
       "      <td>113.974692,22.535317;113.974488,22.535317;113....</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>向西步行115米到达目的地</td>\n",
       "      <td>西</td>\n",
       "      <td>[]</td>\n",
       "      <td>115</td>\n",
       "      <td>92</td>\n",
       "      <td>113.974188,22.534766;113.973993,22.534679;113....</td>\n",
       "      <td>[]</td>\n",
       "      <td>到达目的地</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            instruction orientation  road distance duration  \\\n",
       "0               步行37米左转          []    []       37       30   \n",
       "1               步行18米右转          []    []       18       14   \n",
       "2               步行85米直行          []    []       85       68   \n",
       "3                步行6米右转          []    []        6        5   \n",
       "4                步行7米右转          []    []        7        6   \n",
       "5   沿侨城西街向西步行558米向左前方行走           西  侨城西街      558      446   \n",
       "6      沿侨城西街向西南步行298米右转          西南  侨城西街      298      238   \n",
       "7       沿深南大道向西北步行23米左转          西北  深南大道       23       18   \n",
       "8               步行50米右转          []    []       50       40   \n",
       "9        沿深南大道向西步行22米左转           西  深南大道       22       18   \n",
       "10          向西南步行123米右转          西南    []      123       98   \n",
       "11        向西步行40米向左前方行走           西    []       40       32   \n",
       "12          向西南步行103米右转          西南    []      103       82   \n",
       "13        向西步行115米到达目的地           西    []      115       92   \n",
       "\n",
       "                                             polyline  action  \\\n",
       "0            113.984358,22.537951;113.98408,22.537747      左转   \n",
       "1           113.984076,22.537743;113.984188,22.537613      右转   \n",
       "2   113.984188,22.537609;113.98375,22.537214;113.9...      直行   \n",
       "3           113.983581,22.537088;113.983537,22.537053      右转   \n",
       "4            113.983533,22.537049;113.983477,22.53701      右转   \n",
       "5   113.983472,22.537005;113.983307,22.537183;113....  向左前方行走   \n",
       "6   113.978611,22.537869;113.978503,22.537799;113....      右转   \n",
       "7   113.976332,22.53638;113.976237,22.536415;113.9...      左转   \n",
       "8            113.97612,22.536463;113.975946,22.536046      右转   \n",
       "9           113.975942,22.536042;113.975742,22.536115      左转   \n",
       "10  113.975738,22.536115;113.975621,22.535937;113....      右转   \n",
       "11  113.975048,22.535182;113.974961,22.535226;113....  向左前方行走   \n",
       "12  113.974692,22.535317;113.974488,22.535317;113....      右转   \n",
       "13  113.974188,22.534766;113.973993,22.534679;113....      []   \n",
       "\n",
       "   assistant_action walk_type  \n",
       "0                []         0  \n",
       "1                []         0  \n",
       "2                []         0  \n",
       "3                []        20  \n",
       "4                []         0  \n",
       "5                []         0  \n",
       "6                []         0  \n",
       "7                []         0  \n",
       "8                []         1  \n",
       "9                []         0  \n",
       "10               []         0  \n",
       "11               []         0  \n",
       "12               []         0  \n",
       "13            到达目的地         0  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "0                 步行37米左转\n",
       "1                 步行18米右转\n",
       "2                 步行85米直行\n",
       "3                  步行6米右转\n",
       "4                  步行7米右转\n",
       "5     沿侨城西街向西步行558米向左前方行走\n",
       "6        沿侨城西街向西南步行298米右转\n",
       "7         沿深南大道向西北步行23米左转\n",
       "8                 步行50米右转\n",
       "9          沿深南大道向西步行22米左转\n",
       "10            向西南步行123米右转\n",
       "11          向西步行40米向左前方行走\n",
       "12            向西南步行103米右转\n",
       "13          向西步行115米到达目的地\n",
       "Name: instruction, dtype: object"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# B1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> walking函数\n",
    "def walking(origin,destination,sig=None)->dict:\n",
    "    \"\"\"获取步行路径规划\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/direction/walking?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin, #起点坐标\n",
    "        'destination':destination, #终点坐标\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 获取地理编码\n",
    "生态广场 = geocode('广东省深圳市南山区生态广场')\n",
    "生态广场_location = 生态广场['geocodes'][0]['location']\n",
    "世界之窗_location = 世界之窗['geocodes'][0]['location']\n",
    "print(\"(起点)生态广场_location:\",生态广场_location,\"(终点)世界之窗_location:\",世界之窗_location)\n",
    "\n",
    "# 调用walking函数\n",
    "# 思考：此功能运用了机器学习：根据用户地域、距离、时长、工具等不同场景学习不同的出行决策，根据用户的定位数据、出行数据、反馈数据，\n",
    "# 来为用户提供省时、省力以及舒适性的偏好决策模型；AI：推荐算法，为用户提供步行最佳方案。\n",
    "生态广场_世界之窗 = walking(生态广场_location,世界之窗_location)\n",
    "print(生态广场_世界之窗)\n",
    "\n",
    "# pandas\n",
    "df_步行路径规划 = pd.json_normalize(生态广场_世界之窗[\"route\"][\"paths\"][0]['steps'])\n",
    "display(df_步行路径规划)\n",
    "df_步行路径规划[\"instruction\"] # 取出返回结果中的“路段步行指示”"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 公交路径规划\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/direction#bus"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)南山书城_location: 113.929239,22.519521 (终点)世界之窗_location: 113.972976,22.534607\n",
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '5', 'route': {'origin': '113.929239,22.519521', 'destination': '113.972976,22.534607', 'distance': '5598', 'taxi_cost': '18.635199999999998', 'transits': [{'cost': '2.0', 'duration': '2412', 'nightflag': '0', 'walking_distance': '802', 'distance': '7164', 'missed': '0', 'segments': [{'taxi': [], 'walking': {'origin': '113.929237,22.519388', 'destination': '113.928368,22.518663', 'distance': '158', 'duration': '135', 'steps': [{'instruction': '步行19米右转', 'road': [], 'distance': '19', 'duration': [], 'polyline': '113.929237,22.519388;113.929169,22.519228', 'action': '右转', 'assistant_action': []}, {'instruction': '沿海德二道步行55米左转', 'road': '海德二道', 'distance': '55', 'duration': [], 'polyline': '113.929169,22.519232;113.929001,22.519270;113.928795,22.519337;113.928658,22.519384', 'action': '左转', 'assistant_action': []}, {'instruction': '沿南海大道步行84米到达海雅百货', 'road': '南海大道', 'distance': '84', 'duration': [], 'polyline': '113.928658,22.519384;113.928627,22.519314;113.928566,22.519171;113.928391,22.518728;113.928368,22.518663', 'action': [], 'assistant_action': '到达海雅百货'}]}, 'bus': {'buslines': [{'departure_stop': {'name': '海雅百货', 'id': '440300014114011', 'location': '113.928352,22.518661'}, 'arrival_stop': {'name': '世界之窗1', 'id': '440300014114018', 'location': '113.973251,22.537008'}, 'name': '113路(蛇口总站--长岭东公交场站)', 'id': '440300014114', 'type': '普通公交线路', 'distance': '6362', 'duration': '1725', 'polyline': '113.928352,22.518661;113.928352,22.518654;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929802,22.528282;113.929802,22.528284;113.929802,22.528282;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931976,22.532104;113.932098,22.532391;113.932144,22.532818;113.932144,22.532955;113.932152,22.533466;113.932144,22.533825;113.932137,22.534475;113.932106,22.534983;113.932083,22.535164;113.931999,22.535347;113.931992,22.536266;113.931992,22.536507;113.931992,22.536631;113.931992,22.536753;113.932083,22.536880;113.932083,22.537058;113.932091,22.537468;113.932068,22.538820;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539362;113.932312,22.539400;113.932404,22.539427;113.932861,22.539513;113.933830,22.539463;113.934074,22.539379;113.934204,22.539371;113.935066,22.539335;113.935638,22.539314;113.936035,22.539297;113.936455,22.539280;113.937386,22.539263;113.938148,22.539280;113.939278,22.539314;113.939583,22.539322;113.940964,22.539385;113.941727,22.539423;113.942009,22.539431;113.942993,22.539476;113.943520,22.539505;113.945290,22.539591;113.945816,22.539618;113.946587,22.539658;113.946747,22.539667;113.947357,22.539696;113.948235,22.539726;113.948586,22.539753;113.949158,22.539787;113.950195,22.539841;113.950424,22.539848;113.950981,22.539877;113.952339,22.539940;113.952736,22.540031;113.953331,22.540045;113.953911,22.540073;113.954018,22.540073;113.954437,22.540096;113.955429,22.540123;113.955421,22.540123;113.955437,22.540123;113.955933,22.540138;113.956474,22.540152;113.957741,22.540195;113.958115,22.540205;113.958481,22.540209;113.961021,22.540257;113.961617,22.540264;113.962669,22.540287;113.963348,22.540274;113.963707,22.540257;113.964508,22.540155;113.964699,22.540123;113.964798,22.540052;113.965469,22.539831;113.965813,22.539745;113.966080,22.539661;113.966309,22.539572;113.966927,22.539358;113.967491,22.539154;113.967606,22.539106;113.968185,22.538889;113.968941,22.538610;113.968941,22.538607;113.968941,22.538610;113.969749,22.538311;113.970558,22.537977;113.972000,22.537445;113.972168,22.537392;113.972260,22.537359;113.973122,22.537058;113.973251,22.537008', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '6', 'via_stops': [{'name': '桂庙新村', 'id': '440300014114012', 'location': '113.929802,22.528282'}, {'name': '深圳大学', 'id': '440300014114013', 'location': '113.932144,22.533825'}, {'name': '深大北门2', 'id': '440300014114014', 'location': '113.938148,22.539280'}, {'name': '科技园2', 'id': '440300014114085', 'location': '113.946747,22.539667'}, {'name': '大冲2', 'id': '440300014114060', 'location': '113.955429,22.540123'}, {'name': '白石洲2', 'id': '440300014114017', 'location': '113.968941,22.538610'}]}, {'departure_stop': {'name': '海雅百货', 'id': '440300014252008', 'location': '113.928352,22.518661'}, 'arrival_stop': {'name': '世界之窗1', 'id': '440300014252015', 'location': '113.973190,22.537031'}, 'name': 'M398路(深圳湾口岸公交首末站--坂田互联E时代总站)', 'id': '440300014252', 'type': '普通公交线路', 'distance': '6386', 'duration': '1716', 'polyline': '113.928352,22.518661;113.928352,22.518654;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929802,22.528278;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931976,22.532104;113.932098,22.532391;113.932144,22.532818;113.932144,22.532955;113.932152,22.533466;113.932144,22.533802;113.932144,22.533798;113.932137,22.534475;113.932106,22.534983;113.932083,22.535164;113.931999,22.535360;113.931992,22.536266;113.931992,22.536507;113.931992,22.536631;113.931992,22.536753;113.932083,22.536880;113.932083,22.537058;113.932091,22.537468;113.932068,22.538820;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539366;113.932312,22.539400;113.932404,22.539427;113.932861,22.539518;113.933830,22.539463;113.934074,22.539379;113.934151,22.539371;113.934952,22.539335;113.935638,22.539314;113.936035,22.539297;113.936455,22.539280;113.937386,22.539263;113.938042,22.539280;113.938034,22.539280;113.939278,22.539314;113.939583,22.539322;113.940964,22.539385;113.941727,22.539423;113.942009,22.539431;113.942978,22.539480;113.943520,22.539505;113.944473,22.539553;113.945816,22.539618;113.946587,22.539658;113.946747,22.539667;113.947357,22.539696;113.948235,22.539726;113.948586,22.539753;113.949158,22.539787;113.950195,22.539841;113.950424,22.539848;113.950981,22.539877;113.952339,22.539940;113.952736,22.540031;113.953331,22.540045;113.953911,22.540073;113.954018,22.540073;113.954437,22.540096;113.955437,22.540123;113.955467,22.540127;113.955933,22.540138;113.956474,22.540152;113.957741,22.540195;113.958115,22.540205;113.958481,22.540209;113.961021,22.540257;113.961617,22.540264;113.962669,22.540287;113.963348,22.540274;113.963707,22.540257;113.964508,22.540155;113.964699,22.540123;113.964798,22.540052;113.965469,22.539831;113.965813,22.539745;113.966080,22.539661;113.966309,22.539572;113.966927,22.539358;113.967491,22.539154;113.967606,22.539106;113.968185,22.538889;113.968727,22.538689;113.969749,22.538311;113.970558,22.537977;113.972000,22.537445;113.972168,22.537392;113.972260,22.537359;113.973122,22.537058;113.973190,22.537031', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '6', 'via_stops': [{'name': '桂庙新村', 'id': '440300014252009', 'location': '113.929802,22.528278'}, {'name': '深圳大学', 'id': '440300014252010', 'location': '113.932144,22.533802'}, {'name': '深大北门2', 'id': '440300014252011', 'location': '113.938042,22.539280'}, {'name': '科技园2', 'id': '440300014252012', 'location': '113.946747,22.539667'}, {'name': '大冲2', 'id': '440300014252037', 'location': '113.955467,22.540127'}, {'name': '白石洲1', 'id': '440300014252014', 'location': '113.968727,22.538689'}]}, {'departure_stop': {'name': '海雅百货', 'id': '440300014566041', 'location': '113.928352,22.518654'}, 'arrival_stop': {'name': '世界之窗1', 'id': '440300014566031', 'location': '113.973228,22.537018'}, 'name': '70路(蛇口SCT码头总站--安托山场站)', 'id': '440300014566', 'type': '普通公交线路', 'distance': '6229', 'duration': '1890', 'polyline': '113.928352,22.518654;113.928352,22.518652;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929840,22.528347;113.929810,22.528364;113.929878,22.528490;113.930504,22.529613;113.930626,22.529705;113.930748,22.529831;113.931351,22.530924;113.931770,22.531689;113.931885,22.531910;113.931931,22.532022;113.932030,22.532145;113.932129,22.532291;113.932152,22.532335;113.932152,22.532417;113.932182,22.532547;113.932190,22.532648;113.932190,22.532730;113.932159,22.532825;113.932167,22.532948;113.932159,22.533464;113.932152,22.533812;113.932144,22.533812;113.932137,22.534475;113.932106,22.534983;113.932083,22.535164;113.931999,22.535347;113.931992,22.536266;113.931992,22.536507;113.931992,22.536631;113.931992,22.536753;113.932083,22.536880;113.932083,22.537058;113.932091,22.537468;113.932068,22.538820;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539362;113.932312,22.539400;113.932404,22.539427;113.932861,22.539513;113.933830,22.539463;113.934074,22.539379;113.934204,22.539371;113.935066,22.539335;113.935638,22.539314;113.936035,22.539297;113.936455,22.539280;113.937386,22.539263;113.938141,22.539280;113.939278,22.539314;113.939583,22.539322;113.940964,22.539385;113.941727,22.539423;113.942009,22.539431;113.942993,22.539476;113.943520,22.539505;113.945290,22.539591;113.945816,22.539618;113.946587,22.539658;113.946846,22.539671;113.947357,22.539696;113.948235,22.539726;113.948586,22.539753;113.949158,22.539787;113.950195,22.539841;113.950424,22.539848;113.950981,22.539877;113.952339,22.539940;113.952736,22.540031;113.953331,22.540045;113.953911,22.540073;113.954018,22.540073;113.954437,22.540096;113.955437,22.540123;113.955482,22.540127;113.955933,22.540138;113.956474,22.540152;113.957741,22.540195;113.958115,22.540205;113.958481,22.540209;113.961021,22.540257;113.961617,22.540264;113.962669,22.540287;113.963348,22.540274;113.963707,22.540257;113.964508,22.540155;113.964699,22.540123;113.964798,22.540052;113.965469,22.539831;113.965813,22.539745;113.966080,22.539661;113.966309,22.539572;113.966927,22.539358;113.967491,22.539154;113.967606,22.539106;113.968185,22.538889;113.968727,22.538689;113.968727,22.538685;113.968735,22.538685;113.968727,22.538685;113.969749,22.538311;113.970558,22.537977;113.972000,22.537445;113.972168,22.537392;113.972260,22.537359;113.973122,22.537058;113.973228,22.537018', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '6', 'via_stops': [{'name': '桂庙新村', 'id': '440300014566025', 'location': '113.929840,22.528347'}, {'name': '深圳大学', 'id': '440300014566026', 'location': '113.932152,22.533812'}, {'name': '深大北门2', 'id': '440300014566042', 'location': '113.938141,22.539280'}, {'name': '科技园2', 'id': '440300014566043', 'location': '113.946846,22.539671'}, {'name': '大冲2', 'id': '440300014566044', 'location': '113.955482,22.540127'}, {'name': '白石洲1', 'id': '440300014566030', 'location': '113.968727,22.538689'}]}]}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}, {'taxi': [], 'walking': {'origin': '113.973328,22.536983', 'destination': '113.973099,22.534592', 'distance': '644', 'duration': '552', 'steps': [{'instruction': '沿深南大道步行263米右转', 'road': '深南大道', 'distance': '263', 'duration': [], 'polyline': '113.973328,22.536983;113.973755,22.536844;113.973862,22.536810;113.973969,22.536772;113.974442,22.536606;113.974709,22.536507;113.974907,22.536432;113.975342,22.536272;113.975739,22.536119', 'action': '右转', 'assistant_action': []}, {'instruction': '步行123米右转', 'road': [], 'distance': '123', 'duration': [], 'polyline': '113.975739,22.536116;113.975624,22.535938;113.975571,22.535891;113.975220,22.535412;113.975052,22.535187', 'action': '右转', 'assistant_action': []}, {'instruction': '步行40米向左前方行走', 'road': [], 'distance': '40', 'duration': [], 'polyline': '113.975044,22.535183;113.974960,22.535225;113.974693,22.535316', 'action': '向左前方行走', 'assistant_action': []}, {'instruction': '步行103米右转', 'road': [], 'distance': '103', 'duration': [], 'polyline': '113.974693,22.535316;113.974487,22.535316;113.974342,22.535278;113.974205,22.535191;113.974174,22.535135;113.974129,22.535027;113.974159,22.534819;113.974190,22.534769', 'action': '右转', 'assistant_action': []}, {'instruction': '步行115米', 'road': [], 'distance': '115', 'duration': [], 'polyline': '113.974190,22.534765;113.973991,22.534679;113.973854,22.534615;113.973373,22.534592;113.973099,22.534592', 'action': [], 'assistant_action': []}]}, 'bus': {'buslines': []}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]}, {'cost': '3.0', 'duration': '2394', 'nightflag': '0', 'walking_distance': '1905', 'distance': '7079', 'missed': '0', 'segments': [{'taxi': [], 'walking': {'origin': '113.929237,22.519388', 'destination': '113.940254,22.517353', 'distance': '1333', 'duration': '1142', 'steps': [{'instruction': '步行19米左转', 'road': [], 'distance': '19', 'duration': [], 'polyline': '113.929237,22.519388;113.929169,22.519228', 'action': '左转', 'assistant_action': []}, {'instruction': '沿海德二道步行165米向左前方行走', 'road': '海德二道', 'distance': '165', 'duration': [], 'polyline': '113.929169,22.519232;113.929176,22.519228;113.929741,22.519062;113.930168,22.518946;113.930649,22.518806;113.930717,22.518785', 'action': '向左前方行走', 'assistant_action': []}, {'instruction': '步行171米右转', 'road': [], 'distance': '171', 'duration': [], 'polyline': '113.930717,22.518780;113.930832,22.518841;113.930969,22.518867;113.931122,22.518854;113.932320,22.518555', 'action': '右转', 'assistant_action': []}, {'instruction': '步行820米左转', 'road': [], 'distance': '820', 'duration': [], 'polyline': '113.932320,22.518551;113.932228,22.518299;113.932442,22.518269;113.933296,22.518156;113.933578,22.518112;113.934341,22.517977;113.934494,22.517960;113.934692,22.517935;113.935783,22.517813;113.936050,22.517769;113.936920,22.517660;113.937103,22.517643;113.938248,22.517487;113.938461,22.517496;113.939529,22.517384;113.939705,22.517609;113.939766,22.517569', 'action': '左转', 'assistant_action': []}, {'instruction': '步行17米向右前方行走', 'road': [], 'distance': '17', 'duration': [], 'polyline': '113.939758,22.517565;113.939850,22.517704', 'action': '向右前方行走', 'assistant_action': []}, {'instruction': '步行141米到达后海', 'road': [], 'distance': '141', 'duration': [], 'polyline': '113.939850,22.517704;113.939919,22.517691;113.940018,22.517969;113.940437,22.517834;113.940254,22.517353;113.940254,22.517353', 'action': [], 'assistant_action': '到达后海'}]}, 'bus': {'buslines': [{'departure_stop': {'name': '后海', 'id': '440300024076010', 'location': '113.940253,22.517349'}, 'arrival_stop': {'name': '世界之窗', 'id': '440300024076013', 'location': '113.974216,22.536900'}, 'name': '地铁2号线(蛇口线)(赤湾--新秀)', 'id': '440300024076', 'type': '地铁线路', 'distance': '5174', 'duration': '762', 'polyline': '113.940253,22.517349;113.940635,22.518328;113.940835,22.519037;113.940974,22.519399;113.941033,22.519520;113.941182,22.519856;113.942782,22.523314;113.944450,22.526531;113.944608,22.526736;113.944744,22.526874;113.944854,22.526953;113.944931,22.526990;113.945007,22.527009;113.945064,22.527016;113.946195,22.527019;113.947328,22.527016;113.955360,22.527218;113.956143,22.527176;113.956818,22.527093;113.957365,22.527018;113.957890,22.526882;113.958565,22.526589;113.959155,22.526235;113.959781,22.525924;113.960449,22.525712;113.961096,22.525500;113.962155,22.525252;113.963118,22.525066;113.964118,22.524987;113.967489,22.525141;113.968432,22.525142;113.969378,22.525141;113.969526,22.525148;113.969674,22.525170;113.969808,22.525205;113.969920,22.525263;113.970004,22.525338;113.970080,22.525434;113.970155,22.525577;113.970232,22.525760;113.973432,22.534905;113.973661,22.535541;113.973908,22.536185;113.974216,22.536900', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '2', 'via_stops': [{'name': '科苑', 'id': '440300024076011', 'location': '113.946195,22.527019'}, {'name': '红树湾', 'id': '440300024076012', 'location': '113.968432,22.525142'}]}]}, 'entrance': {'name': 'D1口', 'location': '113.939919,22.517687'}, 'exit': {'name': 'J口', 'location': '113.975266,22.536089'}, 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}, {'taxi': [], 'walking': {'origin': '113.974213,22.536901', 'destination': '113.973099,22.534592', 'distance': '572', 'duration': '490', 'steps': [{'instruction': '步行214米右转', 'road': [], 'distance': '214', 'duration': [], 'polyline': '113.974213,22.536901;113.974220,22.536901;113.974350,22.536848;113.974655,22.536736;113.975044,22.536596;113.974884,22.536232;113.975266,22.536089;113.975609,22.535946', 'action': '右转', 'assistant_action': []}, {'instruction': '步行100米右转', 'road': [], 'distance': '100', 'duration': [], 'polyline': '113.975616,22.535933;113.975571,22.535891;113.975220,22.535412;113.975052,22.535187', 'action': '右转', 'assistant_action': []}, {'instruction': '步行40米向左前方行走', 'road': [], 'distance': '40', 'duration': [], 'polyline': '113.975044,22.535183;113.974960,22.535225;113.974693,22.535316', 'action': '向左前方行走', 'assistant_action': []}, {'instruction': '步行103米右转', 'road': [], 'distance': '103', 'duration': [], 'polyline': '113.974693,22.535316;113.974487,22.535316;113.974342,22.535278;113.974205,22.535191;113.974174,22.535135;113.974129,22.535027;113.974159,22.534819;113.974190,22.534769', 'action': '右转', 'assistant_action': []}, {'instruction': '步行115米', 'road': [], 'distance': '115', 'duration': [], 'polyline': '113.974190,22.534765;113.973991,22.534679;113.973854,22.534615;113.973373,22.534592;113.973099,22.534592', 'action': [], 'assistant_action': []}]}, 'bus': {'buslines': []}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]}, {'cost': '2.5', 'duration': '2733', 'nightflag': '0', 'walking_distance': '1004', 'distance': '6973', 'missed': '0', 'segments': [{'taxi': [], 'walking': {'origin': '113.929237,22.519388', 'destination': '113.928368,22.518663', 'distance': '158', 'duration': '135', 'steps': [{'instruction': '步行19米右转', 'road': [], 'distance': '19', 'duration': [], 'polyline': '113.929237,22.519388;113.929169,22.519228', 'action': '右转', 'assistant_action': []}, {'instruction': '沿海德二道步行55米左转', 'road': '海德二道', 'distance': '55', 'duration': [], 'polyline': '113.929169,22.519232;113.929001,22.519270;113.928795,22.519337;113.928658,22.519384', 'action': '左转', 'assistant_action': []}, {'instruction': '沿南海大道步行84米到达海雅百货', 'road': '南海大道', 'distance': '84', 'duration': [], 'polyline': '113.928658,22.519384;113.928627,22.519314;113.928566,22.519171;113.928391,22.518728;113.928368,22.518663', 'action': [], 'assistant_action': '到达海雅百货'}]}, 'bus': {'buslines': [{'departure_stop': {'name': '海雅百货', 'id': '440300015333062', 'location': '113.928284,22.518484'}, 'arrival_stop': {'name': '世界之窗2', 'id': '440300015333014', 'location': '113.971619,22.537582'}, 'name': 'M222路(南山中心区公交总站--龙华清华路总站)', 'id': '440300015333', 'type': '普通公交线路', 'distance': '5969', 'duration': '1873', 'polyline': '113.928284,22.518484;113.928284,22.518480;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929810,22.528294;113.929810,22.528297;113.929810,22.528303;113.929810,22.528297;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931976,22.532104;113.932098,22.532391;113.932144,22.532818;113.932144,22.532955;113.932152,22.533466;113.932144,22.533829;113.932137,22.534475;113.932106,22.534983;113.932083,22.535164;113.931999,22.535360;113.931992,22.536266;113.931992,22.536507;113.931992,22.536631;113.931992,22.536753;113.932083,22.536880;113.932083,22.537058;113.932091,22.537468;113.932068,22.538820;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539366;113.932312,22.539400;113.932404,22.539427;113.932861,22.539518;113.933830,22.539463;113.934074,22.539379;113.934204,22.539371;113.935066,22.539335;113.935638,22.539314;113.936035,22.539297;113.936455,22.539280;113.937386,22.539263;113.939278,22.539314;113.939583,22.539322;113.940674,22.539371;113.940964,22.539385;113.941727,22.539423;113.942009,22.539431;113.942993,22.539476;113.943520,22.539505;113.944473,22.539553;113.945816,22.539618;113.946587,22.539658;113.947357,22.539696;113.948235,22.539726;113.948586,22.539753;113.949158,22.539787;113.949547,22.539804;113.950195,22.539841;113.950424,22.539848;113.950981,22.539877;113.952339,22.539940;113.952736,22.540031;113.953331,22.540045;113.953873,22.540073;113.953957,22.540083;113.955421,22.540127;113.955933,22.540138;113.956566,22.540159;113.957741,22.540195;113.958115,22.540205;113.958481,22.540209;113.960999,22.540251;113.961617,22.540264;113.962669,22.540287;113.963348,22.540274;113.963707,22.540257;113.964508,22.540155;113.964699,22.540123;113.964828,22.540091;113.964905,22.540031;113.965454,22.539831;113.965813,22.539745;113.966080,22.539661;113.966927,22.539358;113.967606,22.539106;113.968185,22.538889;113.968941,22.538610;113.969749,22.538311;113.970558,22.537977;113.971619,22.537582', 'bustimetag': '4', 'start_time': [], 'end_time': [], 'via_num': '6', 'via_stops': [{'name': '桂庙新村', 'id': '440300015333063', 'location': '113.929810,22.528294'}, {'name': '深圳大学', 'id': '440300015333064', 'location': '113.932144,22.533829'}, {'name': '深大北门1', 'id': '440300015333010', 'location': '113.940674,22.539371'}, {'name': '科技园1', 'id': '440300015333011', 'location': '113.949547,22.539804'}, {'name': '大冲1', 'id': '440300015333037', 'location': '113.955421,22.540127'}, {'name': '白石洲2', 'id': '440300015333013', 'location': '113.968941,22.538610'}]}, {'departure_stop': {'name': '海雅百货', 'id': '900000029392010', 'location': '113.928345,22.518646'}, 'arrival_stop': {'name': '世界之窗2', 'id': '900000029392016', 'location': '113.971481,22.537632'}, 'name': 'M448路(赤湾总站--宝利工业区总站)', 'id': '900000029392', 'type': '普通公交线路', 'distance': '6128', 'duration': '1773', 'polyline': '113.928345,22.518646;113.928345,22.518642;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929832,22.528334;113.929832,22.528337;113.929832,22.528334;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931976,22.532104;113.932098,22.532391;113.932144,22.532818;113.932144,22.532955;113.932152,22.533466;113.932144,22.533762;113.932144,22.533758;113.932137,22.534475;113.932106,22.534983;113.932083,22.535164;113.931999,22.535360;113.931992,22.536266;113.931992,22.536507;113.931992,22.536631;113.931992,22.536753;113.932083,22.536880;113.932083,22.537058;113.932091,22.537468;113.932068,22.538820;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539366;113.932312,22.539400;113.932404,22.539427;113.932861,22.539518;113.933830,22.539463;113.934326,22.539463;113.935814,22.539392;113.937653,22.539362;113.938034,22.539379;113.939537,22.539436;113.940735,22.539494;113.943344,22.539618;113.943886,22.539644;113.944656,22.539675;113.945465,22.539709;113.945549,22.539675;113.945732,22.539654;113.945816,22.539618;113.946587,22.539658;113.947357,22.539696;113.948143,22.539732;113.948586,22.539753;113.949158,22.539787;113.949539,22.539804;113.950195,22.539841;113.950424,22.539848;113.950981,22.539877;113.952339,22.539940;113.952736,22.540031;113.953331,22.540045;113.953911,22.540073;113.954018,22.540073;113.954437,22.540096;113.955437,22.540123;113.955475,22.540127;113.955933,22.540138;113.956474,22.540152;113.957741,22.540195;113.958115,22.540205;113.958481,22.540209;113.961021,22.540257;113.961617,22.540264;113.962669,22.540287;113.963348,22.540274;113.963707,22.540257;113.964508,22.540155;113.964699,22.540123;113.964798,22.540052;113.965469,22.539831;113.965813,22.539745;113.966080,22.539661;113.966309,22.539572;113.966927,22.539358;113.967491,22.539154;113.967606,22.539106;113.968185,22.538889;113.968788,22.538666;113.969749,22.538311;113.970558,22.537977;113.971481,22.537632', 'bustimetag': '4', 'start_time': [], 'end_time': [], 'via_num': '5', 'via_stops': [{'name': '桂庙新村', 'id': '900000029392011', 'location': '113.929832,22.528334'}, {'name': '深圳大学', 'id': '900000029392012', 'location': '113.932144,22.533762'}, {'name': '科技园1', 'id': '900000029392013', 'location': '113.949539,22.539804'}, {'name': '大冲2', 'id': '900000029392014', 'location': '113.955475,22.540127'}, {'name': '白石洲2', 'id': '900000029392015', 'location': '113.968788,22.538666'}]}]}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}, {'taxi': [], 'walking': {'origin': '113.971481,22.537634', 'destination': '113.973099,22.534592', 'distance': '846', 'duration': '725', 'steps': [{'instruction': '沿深南大道步行465米右转', 'road': '深南大道', 'distance': '465', 'duration': [], 'polyline': '113.971481,22.537634;113.972000,22.537443;113.972267,22.537365;113.973122,22.537062;113.973755,22.536844;113.973862,22.536810;113.973969,22.536772;113.974442,22.536606;113.974709,22.536507;113.974907,22.536432;113.975342,22.536272;113.975739,22.536119', 'action': '右转', 'assistant_action': []}, {'instruction': '步行123米右转', 'road': [], 'distance': '123', 'duration': [], 'polyline': '113.975739,22.536116;113.975624,22.535938;113.975571,22.535891;113.975220,22.535412;113.975052,22.535187', 'action': '右转', 'assistant_action': []}, {'instruction': '步行40米向左前方行走', 'road': [], 'distance': '40', 'duration': [], 'polyline': '113.975044,22.535183;113.974960,22.535225;113.974693,22.535316', 'action': '向左前方行走', 'assistant_action': []}, {'instruction': '步行103米右转', 'road': [], 'distance': '103', 'duration': [], 'polyline': '113.974693,22.535316;113.974487,22.535316;113.974342,22.535278;113.974205,22.535191;113.974174,22.535135;113.974129,22.535027;113.974159,22.534819;113.974190,22.534769', 'action': '右转', 'assistant_action': []}, {'instruction': '步行115米', 'road': [], 'distance': '115', 'duration': [], 'polyline': '113.974190,22.534765;113.973991,22.534679;113.973854,22.534615;113.973373,22.534592;113.973099,22.534592', 'action': [], 'assistant_action': []}]}, 'bus': {'buslines': []}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]}, {'cost': '2.0', 'duration': '2750', 'nightflag': '0', 'walking_distance': '1286', 'distance': '6975', 'missed': '0', 'segments': [{'taxi': [], 'walking': {'origin': '113.929237,22.519388', 'destination': '113.928368,22.518663', 'distance': '158', 'duration': '135', 'steps': [{'instruction': '步行19米右转', 'road': [], 'distance': '19', 'duration': [], 'polyline': '113.929237,22.519388;113.929169,22.519228', 'action': '右转', 'assistant_action': []}, {'instruction': '沿海德二道步行55米左转', 'road': '海德二道', 'distance': '55', 'duration': [], 'polyline': '113.929169,22.519232;113.929001,22.519270;113.928795,22.519337;113.928658,22.519384', 'action': '左转', 'assistant_action': []}, {'instruction': '沿南海大道步行84米到达海雅百货', 'road': '南海大道', 'distance': '84', 'duration': [], 'polyline': '113.928658,22.519384;113.928627,22.519314;113.928566,22.519171;113.928391,22.518728;113.928368,22.518663', 'action': [], 'assistant_action': '到达海雅百货'}]}, 'bus': {'buslines': [{'departure_stop': {'name': '海雅百货', 'id': '440300014324011', 'location': '113.928368,22.518681'}, 'arrival_stop': {'name': '白石洲2', 'id': '440300014324014', 'location': '113.968971,22.538597'}, 'name': '328路(蛇口邮轮中心--观澜樟坑径总站)', 'id': '440300014324', 'type': '普通公交线路', 'distance': '5689', 'duration': '1648', 'polyline': '113.928368,22.518681;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931976,22.532104;113.932098,22.532391;113.932144,22.532818;113.932144,22.532955;113.932152,22.533466;113.932144,22.533772;113.932137,22.534475;113.932106,22.534983;113.932083,22.535164;113.931999,22.535360;113.931992,22.536266;113.931992,22.536507;113.931992,22.536631;113.931992,22.536753;113.932083,22.536880;113.932083,22.537058;113.932091,22.537468;113.932068,22.538820;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539366;113.932312,22.539400;113.932404,22.539427;113.932861,22.539518;113.933830,22.539463;113.934326,22.539463;113.935814,22.539392;113.937653,22.539362;113.938034,22.539379;113.939537,22.539436;113.940735,22.539494;113.943344,22.539618;113.943886,22.539644;113.944656,22.539675;113.945618,22.539726;113.945816,22.539618;113.947357,22.539696;113.948143,22.539732;113.948586,22.539753;113.949158,22.539787;113.949501,22.539804;113.950195,22.539841;113.950424,22.539848;113.950981,22.539877;113.952339,22.539940;113.952736,22.540031;113.953331,22.540045;113.953873,22.540073;113.953957,22.540083;113.954437,22.540096;113.955437,22.540123;113.955933,22.540138;113.956566,22.540159;113.957741,22.540195;113.958115,22.540205;113.958481,22.540209;113.960999,22.540251;113.961617,22.540264;113.962669,22.540287;113.963348,22.540274;113.963707,22.540257;113.964508,22.540155;113.964699,22.540123;113.964828,22.540091;113.964905,22.540031;113.965454,22.539831;113.965813,22.539745;113.966309,22.539576;113.966927,22.539358;113.967491,22.539154;113.967606,22.539106;113.968185,22.538889;113.968971,22.538597', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '2', 'via_stops': [{'name': '深圳大学', 'id': '440300014324012', 'location': '113.932144,22.533772'}, {'name': '科技园1', 'id': '440300014324013', 'location': '113.949501,22.539804'}]}]}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}, {'taxi': [], 'walking': {'origin': '113.968941,22.538610', 'destination': '113.973099,22.534592', 'distance': '1128', 'duration': '966', 'steps': [{'instruction': '沿深南大道步行747米右转', 'road': '深南大道', 'distance': '747', 'duration': [], 'polyline': '113.968941,22.538610;113.969757,22.538317;113.970558,22.537981;113.972000,22.537443;113.972267,22.537365;113.973122,22.537062;113.973755,22.536844;113.973862,22.536810;113.973969,22.536772;113.974442,22.536606;113.974709,22.536507;113.974907,22.536432;113.975342,22.536272;113.975739,22.536119', 'action': '右转', 'assistant_action': []}, {'instruction': '步行123米右转', 'road': [], 'distance': '123', 'duration': [], 'polyline': '113.975739,22.536116;113.975624,22.535938;113.975571,22.535891;113.975220,22.535412;113.975052,22.535187', 'action': '右转', 'assistant_action': []}, {'instruction': '步行40米向左前方行走', 'road': [], 'distance': '40', 'duration': [], 'polyline': '113.975044,22.535183;113.974960,22.535225;113.974693,22.535316', 'action': '向左前方行走', 'assistant_action': []}, {'instruction': '步行103米右转', 'road': [], 'distance': '103', 'duration': [], 'polyline': '113.974693,22.535316;113.974487,22.535316;113.974342,22.535278;113.974205,22.535191;113.974174,22.535135;113.974129,22.535027;113.974159,22.534819;113.974190,22.534769', 'action': '右转', 'assistant_action': []}, {'instruction': '步行115米', 'road': [], 'distance': '115', 'duration': [], 'polyline': '113.974190,22.534765;113.973991,22.534679;113.973854,22.534615;113.973373,22.534592;113.973099,22.534592', 'action': [], 'assistant_action': []}]}, 'bus': {'buslines': []}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]}, {'cost': '5.0', 'duration': '2678', 'nightflag': '0', 'walking_distance': '961', 'distance': '8407', 'missed': '0', 'segments': [{'taxi': [], 'walking': {'origin': '113.929237,22.519388', 'destination': '113.928368,22.518663', 'distance': '158', 'duration': '135', 'steps': [{'instruction': '步行19米右转', 'road': [], 'distance': '19', 'duration': [], 'polyline': '113.929237,22.519388;113.929169,22.519228', 'action': '右转', 'assistant_action': []}, {'instruction': '沿海德二道步行55米左转', 'road': '海德二道', 'distance': '55', 'duration': [], 'polyline': '113.929169,22.519232;113.929001,22.519270;113.928795,22.519337;113.928658,22.519384', 'action': '左转', 'assistant_action': []}, {'instruction': '沿南海大道步行84米到达海雅百货', 'road': '南海大道', 'distance': '84', 'duration': [], 'polyline': '113.928658,22.519384;113.928627,22.519314;113.928566,22.519171;113.928391,22.518728;113.928368,22.518663', 'action': [], 'assistant_action': '到达海雅百货'}]}, 'bus': {'buslines': [{'departure_stop': {'name': '海雅百货', 'id': '900000040872027', 'location': '113.928352,22.518661'}, 'arrival_stop': {'name': '南山区委', 'id': '900000040872007', 'location': '113.926758,22.532404'}, 'name': 'M475路(南山中心区公交总站--万科云城总站)', 'id': '900000040872', 'type': '普通公交线路', 'distance': '2229', 'duration': '1204', 'polyline': '113.928352,22.518661;113.928352,22.518654;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929810,22.528290;113.929810,22.528294;113.929810,22.528297;113.929810,22.528303;113.929825,22.528311;113.929810,22.528311;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931923,22.532127;113.931946,22.532204;113.931976,22.532288;113.931992,22.532373;113.931664,22.532465;113.931465,22.532473;113.931152,22.532478;113.930740,22.532469;113.930290,22.532465;113.929337,22.532450;113.928696,22.532436;113.928223,22.532427;113.928017,22.532423;113.927948,22.532423;113.927696,22.532413;113.926758,22.532404', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '1', 'via_stops': [{'name': '桂庙新村', 'id': '900000040872006', 'location': '113.929810,22.528290'}]}, {'departure_stop': {'name': '海雅百货', 'id': '440300014215026', 'location': '113.928345,22.518633'}, 'arrival_stop': {'name': '南山区委', 'id': '440300014215028', 'location': '113.926712,22.532400'}, 'name': '226路(赤湾总站--动物园总站)', 'id': '440300014215', 'type': '普通公交线路', 'distance': '2121', 'duration': '1530', 'polyline': '113.928345,22.518633;113.928345,22.518629;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929810,22.528290;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931923,22.532127;113.931946,22.532209;113.931976,22.532291;113.931999,22.532373;113.931664,22.532465;113.931465,22.532473;113.930740,22.532469;113.930290,22.532465;113.929337,22.532450;113.928696,22.532436;113.928223,22.532427;113.928017,22.532423;113.927948,22.532423;113.927696,22.532413;113.926712,22.532400', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '1', 'via_stops': [{'name': '桂庙新村', 'id': '440300014215027', 'location': '113.929810,22.528290'}]}, {'departure_stop': {'name': '海雅百货', 'id': '440300015371082', 'location': '113.928352,22.518658'}, 'arrival_stop': {'name': '南山区委', 'id': '440300015371084', 'location': '113.926758,22.532404'}, 'name': 'M242路(阳光科创公交总站--燕罗公交总站)', 'id': '440300015371', 'type': '普通公交线路', 'distance': '1954', 'duration': '1193', 'polyline': '113.928352,22.518658;113.928352,22.518654;113.928558,22.519167;113.928619,22.519312;113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.929260,22.524874;113.929260,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.929810,22.528290;113.929810,22.528297;113.929810,22.528303;113.929810,22.528297;113.930504,22.529604;113.930763,22.529861;113.931358,22.530930;113.931740,22.531672;113.931885,22.532045;113.931923,22.532127;113.931946,22.532204;113.931976,22.532288;113.931992,22.532373;113.931664,22.532465;113.931465,22.532473;113.931152,22.532478;113.930740,22.532469;113.930290,22.532465;113.929337,22.532450;113.928696,22.532436;113.928223,22.532427;113.928017,22.532423;113.927948,22.532423;113.927696,22.532413;113.926758,22.532404', 'bustimetag': '0', 'start_time': [], 'end_time': [], 'via_num': '1', 'via_stops': [{'name': '桂庙新村', 'id': '440300015371083', 'location': '113.929810,22.528290'}]}]}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}, {'taxi': [], 'walking': {'origin': '113.926750,22.532400', 'destination': '113.924858,22.532356', 'distance': '231', 'duration': '198', 'steps': [{'instruction': '沿桃园路步行114米右转', 'road': '桃园路', 'distance': '114', 'duration': [], 'polyline': '113.926750,22.532400;113.925766,22.532387;113.925629,22.532373', 'action': '右转', 'assistant_action': []}, {'instruction': '步行117米到达桃园', 'road': [], 'distance': '117', 'duration': [], 'polyline': '113.925629,22.532377;113.925568,22.532560;113.925064,22.532574;113.925049,22.532356;113.924858,22.532356', 'action': [], 'assistant_action': '到达桃园'}]}, 'bus': {'buslines': [{'departure_stop': {'name': '桃园', 'id': '440300024063013', 'location': '113.924857,22.532357'}, 'arrival_stop': {'name': '世界之窗', 'id': '440300024063017', 'location': '113.974216,22.536900'}, 'name': '地铁1号线(罗宝线)(机场东--罗湖)', 'id': '440300024063', 'type': '地铁线路', 'distance': '5217', 'duration': '651', 'polyline': '113.924857,22.532357;113.925641,22.532345;113.931130,22.532445;113.932168,22.532529;113.933139,22.532824;113.938173,22.534716;113.940969,22.536069;113.942196,22.536695;113.943278,22.537487;113.944173,22.538667;113.945060,22.539838;113.945166,22.539916;113.945290,22.539955;113.952551,22.540236;113.953842,22.540236;113.955132,22.540236;113.959201,22.540403;113.964147,22.540403;113.964563,22.540377;113.965022,22.540272;113.966187,22.539921;113.967048,22.539604;113.967908,22.539287;113.972997,22.537352;113.974216,22.536900', 'bustimetag': '0', 'start_time': '0630', 'end_time': '2300', 'via_num': '3', 'via_stops': [{'name': '深大', 'id': '440300024063014', 'location': '113.944173,22.538667'}, {'name': '高新园', 'id': '440300024063015', 'location': '113.953842,22.540236'}, {'name': '白石洲', 'id': '440300024063016', 'location': '113.967048,22.539604'}]}]}, 'entrance': {'name': 'A口', 'location': '113.925568,22.532562'}, 'exit': {'name': 'J口', 'location': '113.975266,22.536089'}, 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}, {'taxi': [], 'walking': {'origin': '113.974213,22.536901', 'destination': '113.973099,22.534592', 'distance': '572', 'duration': '490', 'steps': [{'instruction': '步行214米右转', 'road': [], 'distance': '214', 'duration': [], 'polyline': '113.974213,22.536901;113.974220,22.536901;113.974350,22.536848;113.974655,22.536736;113.975044,22.536596;113.974884,22.536232;113.975266,22.536089;113.975609,22.535946', 'action': '右转', 'assistant_action': []}, {'instruction': '步行100米右转', 'road': [], 'distance': '100', 'duration': [], 'polyline': '113.975616,22.535933;113.975571,22.535891;113.975220,22.535412;113.975052,22.535187', 'action': '右转', 'assistant_action': []}, {'instruction': '步行40米向左前方行走', 'road': [], 'distance': '40', 'duration': [], 'polyline': '113.975044,22.535183;113.974960,22.535225;113.974693,22.535316', 'action': '向左前方行走', 'assistant_action': []}, {'instruction': '步行103米右转', 'road': [], 'distance': '103', 'duration': [], 'polyline': '113.974693,22.535316;113.974487,22.535316;113.974342,22.535278;113.974205,22.535191;113.974174,22.535135;113.974129,22.535027;113.974159,22.534819;113.974190,22.534769', 'action': '右转', 'assistant_action': []}, {'instruction': '步行115米', 'road': [], 'distance': '115', 'duration': [], 'polyline': '113.974190,22.534765;113.973991,22.534679;113.973854,22.534615;113.973373,22.534592;113.973099,22.534592', 'action': [], 'assistant_action': []}]}, 'bus': {'buslines': []}, 'entrance': [], 'exit': [], 'railway': {'via_stops': [], 'alters': [], 'spaces': []}}]}]}}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>地铁2号线</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>科苑</td>\n",
       "      <td>440300024076011</td>\n",
       "      <td>113.946195,22.527019</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>红树湾</td>\n",
       "      <td>440300024076012</td>\n",
       "      <td>113.968432,22.525142</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  地铁2号线               id              location\n",
       "0    科苑  440300024076011  113.946195,22.527019\n",
       "1   红树湾  440300024076012  113.968432,22.525142"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>113路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>440300014114012</td>\n",
       "      <td>113.929802,22.528282</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>深圳大学</td>\n",
       "      <td>440300014114013</td>\n",
       "      <td>113.932144,22.533825</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>深大北门2</td>\n",
       "      <td>440300014114014</td>\n",
       "      <td>113.938148,22.539280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>科技园2</td>\n",
       "      <td>440300014114085</td>\n",
       "      <td>113.946747,22.539667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>大冲2</td>\n",
       "      <td>440300014114060</td>\n",
       "      <td>113.955429,22.540123</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>白石洲2</td>\n",
       "      <td>440300014114017</td>\n",
       "      <td>113.968941,22.538610</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    113路               id              location\n",
       "0   桂庙新村  440300014114012  113.929802,22.528282\n",
       "1   深圳大学  440300014114013  113.932144,22.533825\n",
       "2  深大北门2  440300014114014  113.938148,22.539280\n",
       "3   科技园2  440300014114085  113.946747,22.539667\n",
       "4    大冲2  440300014114060  113.955429,22.540123\n",
       "5   白石洲2  440300014114017  113.968941,22.538610"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M398路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>440300014252009</td>\n",
       "      <td>113.929802,22.528278</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>深圳大学</td>\n",
       "      <td>440300014252010</td>\n",
       "      <td>113.932144,22.533802</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>深大北门2</td>\n",
       "      <td>440300014252011</td>\n",
       "      <td>113.938042,22.539280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>科技园2</td>\n",
       "      <td>440300014252012</td>\n",
       "      <td>113.946747,22.539667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>大冲2</td>\n",
       "      <td>440300014252037</td>\n",
       "      <td>113.955467,22.540127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>白石洲1</td>\n",
       "      <td>440300014252014</td>\n",
       "      <td>113.968727,22.538689</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   M398路               id              location\n",
       "0   桂庙新村  440300014252009  113.929802,22.528278\n",
       "1   深圳大学  440300014252010  113.932144,22.533802\n",
       "2  深大北门2  440300014252011  113.938042,22.539280\n",
       "3   科技园2  440300014252012  113.946747,22.539667\n",
       "4    大冲2  440300014252037  113.955467,22.540127\n",
       "5   白石洲1  440300014252014  113.968727,22.538689"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>70路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>440300014566025</td>\n",
       "      <td>113.929840,22.528347</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>深圳大学</td>\n",
       "      <td>440300014566026</td>\n",
       "      <td>113.932152,22.533812</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>深大北门2</td>\n",
       "      <td>440300014566042</td>\n",
       "      <td>113.938141,22.539280</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>科技园2</td>\n",
       "      <td>440300014566043</td>\n",
       "      <td>113.946846,22.539671</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>大冲2</td>\n",
       "      <td>440300014566044</td>\n",
       "      <td>113.955482,22.540127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>白石洲1</td>\n",
       "      <td>440300014566030</td>\n",
       "      <td>113.968727,22.538689</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     70路               id              location\n",
       "0   桂庙新村  440300014566025  113.929840,22.528347\n",
       "1   深圳大学  440300014566026  113.932152,22.533812\n",
       "2  深大北门2  440300014566042  113.938141,22.539280\n",
       "3   科技园2  440300014566043  113.946846,22.539671\n",
       "4    大冲2  440300014566044  113.955482,22.540127\n",
       "5   白石洲1  440300014566030  113.968727,22.538689"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M222路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>440300015333063</td>\n",
       "      <td>113.929810,22.528294</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>深圳大学</td>\n",
       "      <td>440300015333064</td>\n",
       "      <td>113.932144,22.533829</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>深大北门1</td>\n",
       "      <td>440300015333010</td>\n",
       "      <td>113.940674,22.539371</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>科技园1</td>\n",
       "      <td>440300015333011</td>\n",
       "      <td>113.949547,22.539804</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>大冲1</td>\n",
       "      <td>440300015333037</td>\n",
       "      <td>113.955421,22.540127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>白石洲2</td>\n",
       "      <td>440300015333013</td>\n",
       "      <td>113.968941,22.538610</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   M222路               id              location\n",
       "0   桂庙新村  440300015333063  113.929810,22.528294\n",
       "1   深圳大学  440300015333064  113.932144,22.533829\n",
       "2  深大北门1  440300015333010  113.940674,22.539371\n",
       "3   科技园1  440300015333011  113.949547,22.539804\n",
       "4    大冲1  440300015333037  113.955421,22.540127\n",
       "5   白石洲2  440300015333013  113.968941,22.538610"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M448路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>900000029392011</td>\n",
       "      <td>113.929832,22.528334</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>深圳大学</td>\n",
       "      <td>900000029392012</td>\n",
       "      <td>113.932144,22.533762</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>科技园1</td>\n",
       "      <td>900000029392013</td>\n",
       "      <td>113.949539,22.539804</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>大冲2</td>\n",
       "      <td>900000029392014</td>\n",
       "      <td>113.955475,22.540127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>白石洲2</td>\n",
       "      <td>900000029392015</td>\n",
       "      <td>113.968788,22.538666</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  M448路               id              location\n",
       "0  桂庙新村  900000029392011  113.929832,22.528334\n",
       "1  深圳大学  900000029392012  113.932144,22.533762\n",
       "2  科技园1  900000029392013  113.949539,22.539804\n",
       "3   大冲2  900000029392014  113.955475,22.540127\n",
       "4  白石洲2  900000029392015  113.968788,22.538666"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>328路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>深圳大学</td>\n",
       "      <td>440300014324012</td>\n",
       "      <td>113.932144,22.533772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>科技园1</td>\n",
       "      <td>440300014324013</td>\n",
       "      <td>113.949501,22.539804</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   328路               id              location\n",
       "0  深圳大学  440300014324012  113.932144,22.533772\n",
       "1  科技园1  440300014324013  113.949501,22.539804"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M475路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>900000040872006</td>\n",
       "      <td>113.929810,22.528290</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  M475路               id              location\n",
       "0  桂庙新村  900000040872006  113.929810,22.528290"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>226路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>440300014215027</td>\n",
       "      <td>113.929810,22.528290</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   226路               id              location\n",
       "0  桂庙新村  440300014215027  113.929810,22.528290"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>M242路</th>\n",
       "      <th>id</th>\n",
       "      <th>location</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>桂庙新村</td>\n",
       "      <td>440300015371083</td>\n",
       "      <td>113.929810,22.528290</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  M242路               id              location\n",
       "0  桂庙新村  440300015371083  113.929810,22.528290"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# B2\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装-->integrated函数\n",
    "def integrated(origin,destination,city,cityd=None,extensions='base',strategy=None,nightflag=0,date=None,time=None,sig=None)->dict:\n",
    "    \"\"\"获取公交路径规划\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/direction/transit/integrated?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'city':city,\n",
    "        'cityd':cityd,#跨城公交规划时的终点城市\n",
    "        'extensions':extensions,#返回结果详略\n",
    "        'strategy':strategy, #公交换乘策略\n",
    "        'nightflag':nightflag,#是否计算夜班车\n",
    "        'date':date,#出发日期\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 获取地理编码\n",
    "南山书城 = geocode('广东省深圳市南山区深圳南山书城')\n",
    "南山书城_location = 南山书城['geocodes'][0]['location']\n",
    "世界之窗_location = 世界之窗['geocodes'][0]['location']\n",
    "print(\"(起点)南山书城_location:\",南山书城_location,\"(终点)世界之窗_location:\",世界之窗_location)\n",
    "\n",
    "# 调用integrated函数\n",
    "# 思考：此功能运用了机器学习：根据用户地域、距离、时长、工具等不同场景学习不同的出行决策，根据用户的定位数据、出行数据、反馈数据，\n",
    "# 来为用户提供省时、省力以及舒适性的偏好决策模型；AI：推荐算法，为用户提供公交线路的最佳方案。\n",
    "南山书城_世界之窗 = integrated(南山书城_location,世界之窗_location,city='深圳',extensions='all')\n",
    "print(南山书城_世界之窗)\n",
    "\n",
    "# Pandas(小心会变)\n",
    "  #df_bus = pd.json_normalize(南山书城_世界之窗)\n",
    "  #display(df_bus)\n",
    "  #df_bus_transits = pd.json_normalize(南山书城_世界之窗[\"route\"][\"transits\"])\n",
    "  #display(df_bus_transits)\n",
    "df_2号线 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][1]['segments'][0]['bus'][\"buslines\"][0][\"via_stops\"]).rename(columns={\"name\":\"地铁2号线\"})\n",
    "df_bus_1 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][0]['segments'][0]['bus'][\"buslines\"][0][\"via_stops\"]).rename(columns={\"name\":\"113路\"})\n",
    "df_bus_2 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][0]['segments'][0]['bus'][\"buslines\"][1][\"via_stops\"]).rename(columns={\"name\":\"M398路\"})\n",
    "df_bus_3 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][0]['segments'][0]['bus'][\"buslines\"][2][\"via_stops\"]).rename(columns={\"name\":\"70路\"})\n",
    "df_bus_4 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][2]['segments'][0]['bus'][\"buslines\"][0][\"via_stops\"]).rename(columns={\"name\":\"M222路\"})\n",
    "df_bus_5 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][2]['segments'][0]['bus'][\"buslines\"][1][\"via_stops\"]).rename(columns={\"name\":\"M448路\"})\n",
    "df_bus_6 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][3]['segments'][0]['bus'][\"buslines\"][0][\"via_stops\"]).rename(columns={\"name\":\"328路\"})\n",
    "df_bus_7 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][4]['segments'][0]['bus'][\"buslines\"][0][\"via_stops\"]).rename(columns={\"name\":\"M475路\"})\n",
    "df_bus_8 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][4]['segments'][0]['bus'][\"buslines\"][1][\"via_stops\"]).rename(columns={\"name\":\"226路\"})\n",
    "df_bus_9 = pd.json_normalize(南山书城_世界之窗[\"route\"]['transits'][4]['segments'][0]['bus'][\"buslines\"][2][\"via_stops\"]).rename(columns={\"name\":\"M242路\"})\n",
    "display(df_2号线,df_bus_1,df_bus_2,df_bus_3,df_bus_4,df_bus_5,df_bus_6,df_bus_7,df_bus_8,df_bus_9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 驾车路径规划\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/direction#driving"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)南山书城_location: 113.929239,22.519521 (终点)世界之窗_location: 113.972976,22.534607\n",
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'count': '1', 'route': {'origin': '113.929239,22.519521', 'destination': '113.972976,22.534607', 'taxi_cost': '23', 'paths': [{'distance': '7258', 'duration': '1835', 'strategy': '速度最快', 'tolls': '0', 'toll_distance': '0', 'steps': [{'instruction': '沿海德二道向西行驶54米右转', 'orientation': '西', 'road': '海德二道', 'distance': '54', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '16', 'polyline': '113.929153,22.519232;113.928986,22.519272;113.928658,22.519384', 'action': '右转', 'assistant_action': [], 'tmcs': [{'lcode': [], 'distance': '18', 'status': '畅通', 'polyline': '113.929153,22.519232;113.928986,22.519272'}, {'lcode': [], 'distance': '36', 'status': '拥堵', 'polyline': '113.928986,22.519272;113.928658,22.519384'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '沿南海大道向北行驶1.2千米直行沿主路行驶', 'orientation': '北', 'road': '南海大道', 'distance': '1157', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '241', 'polyline': '113.928658,22.519384;113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.92926,22.524874;113.92926,22.525587;113.929268,22.526115;113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678;113.929657,22.528004;113.93045,22.529499', 'action': '直行', 'assistant_action': '沿主路行驶', 'tmcs': [{'lcode': [], 'distance': '70', 'status': '畅通', 'polyline': '113.928658,22.519384;113.928886,22.519978'}, {'lcode': [], 'distance': '348', 'status': '畅通', 'polyline': '113.928886,22.519978;113.929108,22.520559;113.929245,22.520943;113.929398,22.521544;113.929459,22.521971;113.929466,22.522058;113.929504,22.522564;113.929497,22.523046'}, {'lcode': [], 'distance': '282', 'status': '缓行', 'polyline': '113.929497,22.523046;113.929428,22.523594;113.929306,22.524336;113.92926,22.524874;113.92926,22.525587'}, {'lcode': [], 'distance': '107', 'status': '缓行', 'polyline': '113.92926,22.525587;113.929268,22.526115;113.929268,22.526558'}, {'lcode': [], 'distance': '126', 'status': '缓行', 'polyline': '113.929268,22.526558;113.929306,22.526897;113.929337,22.527071;113.929375,22.527287;113.929504,22.527678'}, {'lcode': [], 'distance': '224', 'status': '拥堵', 'polyline': '113.929504,22.527678;113.929657,22.528004;113.93045,22.529499'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '沿南海大道向北行驶834米向右前方行驶进入匝道', 'orientation': '北', 'road': '南海大道', 'distance': '834', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '291', 'polyline': '113.93045,22.529499;113.931396,22.531229;113.931625,22.531698;113.931725,22.531931;113.931877,22.532431;113.931931,22.532679;113.931984,22.532955;113.932007,22.533186;113.932037,22.533447;113.931999,22.535347;113.931992,22.536266;113.931992,22.536507;113.931992,22.536631;113.931992,22.536753', 'action': '向右前方行驶', 'assistant_action': '进入匝道', 'tmcs': [{'lcode': [], 'distance': '470', 'status': '拥堵', 'polyline': '113.93045,22.529499;113.931396,22.531229;113.931625,22.531698;113.931725,22.531931;113.931877,22.532431;113.931931,22.532679;113.931984,22.532955;113.932007,22.533186;113.932037,22.533447'}, {'lcode': [], 'distance': '210', 'status': '缓行', 'polyline': '113.932037,22.533447;113.931999,22.535347'}, {'lcode': [], 'distance': '127', 'status': '缓行', 'polyline': '113.931999,22.535347;113.931992,22.536266;113.931992,22.536507'}, {'lcode': [], 'distance': '27', 'status': '缓行', 'polyline': '113.931992,22.536507;113.931992,22.536631;113.931992,22.536753'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '沿深南南海立交途径深南大道向东北行驶462米靠左沿主路行驶', 'orientation': '东北', 'road': '深南南海立交', 'distance': '462', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '35', 'polyline': '113.931992,22.536753;113.932083,22.53688;113.932083,22.537058;113.932091,22.537468;113.932068,22.53882;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539362;113.932312,22.5394;113.932404,22.539427;113.932861,22.539513;113.93383,22.539463', 'action': '靠左', 'assistant_action': '沿主路行驶', 'tmcs': [{'lcode': [], 'distance': '362', 'status': '畅通', 'polyline': '113.931992,22.536753;113.932083,22.53688;113.932083,22.537058;113.932091,22.537468;113.932068,22.53882;113.932083,22.539072;113.932098,22.539162;113.932121,22.539217;113.932205,22.539318;113.932251,22.539362;113.932312,22.5394;113.932404,22.539427;113.932861,22.539513'}, {'lcode': [], 'distance': '100', 'status': '畅通', 'polyline': '113.932861,22.539513;113.93383,22.539463'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '沿深南大道向东行驶2.3千米靠左沿主路行驶', 'orientation': '东', 'road': '深南大道', 'distance': '2320', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '602', 'polyline': '113.93383,22.539463;113.934326,22.539463;113.935814,22.539392;113.937653,22.539362;113.938034,22.539379;113.939537,22.539436;113.940735,22.539494;113.943344,22.539618;113.943886,22.539644;113.944656,22.539675;113.945465,22.539709;113.946274,22.539749;113.946968,22.539787;113.948029,22.539858;113.948959,22.539883;113.949341,22.5399;113.950195,22.53994;113.950432,22.539951;113.950996,22.539974;113.952011,22.540018;113.952736,22.540031;113.953331,22.540045;113.953911,22.540073;113.954018,22.540073;113.954437,22.540096;113.954964,22.54011;113.955437,22.540123;113.955933,22.540138;113.956474,22.540152', 'action': '靠左', 'assistant_action': '沿主路行驶', 'tmcs': [{'lcode': [], 'distance': '204', 'status': '畅通', 'polyline': '113.93383,22.539463;113.934326,22.539463;113.935814,22.539392'}, {'lcode': [], 'distance': '189', 'status': '畅通', 'polyline': '113.935814,22.539392;113.937653,22.539362'}, {'lcode': [], 'distance': '38', 'status': '畅通', 'polyline': '113.937653,22.539362;113.938034,22.539379'}, {'lcode': [], 'distance': '154', 'status': '畅通', 'polyline': '113.938034,22.539379;113.939537,22.539436'}, {'lcode': [], 'distance': '123', 'status': '畅通', 'polyline': '113.939537,22.539436;113.940735,22.539494'}, {'lcode': [], 'distance': '268', 'status': '畅通', 'polyline': '113.940735,22.539494;113.943344,22.539618'}, {'lcode': [], 'distance': '55', 'status': '畅通', 'polyline': '113.943344,22.539618;113.943886,22.539644'}, {'lcode': [], 'distance': '163', 'status': '畅通', 'polyline': '113.943886,22.539644;113.944656,22.539675;113.945465,22.539709'}, {'lcode': [], 'distance': '154', 'status': '畅通', 'polyline': '113.945465,22.539709;113.946274,22.539749;113.946968,22.539787'}, {'lcode': [], 'distance': '108', 'status': '畅通', 'polyline': '113.946968,22.539787;113.948029,22.539858'}, {'lcode': [], 'distance': '96', 'status': '畅通', 'polyline': '113.948029,22.539858;113.948959,22.539883'}, {'lcode': [], 'distance': '209', 'status': '拥堵', 'polyline': '113.948959,22.539883;113.949341,22.5399;113.950195,22.53994;113.950432,22.539951;113.950996,22.539974'}, {'lcode': [], 'distance': '104', 'status': '拥堵', 'polyline': '113.950996,22.539974;113.952011,22.540018'}, {'lcode': [], 'distance': '74', 'status': '拥堵', 'polyline': '113.952011,22.540018;113.952736,22.540031'}, {'lcode': [], 'distance': '61', 'status': '拥堵', 'polyline': '113.952736,22.540031;113.953331,22.540045'}, {'lcode': [], 'distance': '69', 'status': '拥堵', 'polyline': '113.953331,22.540045;113.953911,22.540073;113.954018,22.540073'}, {'lcode': [], 'distance': '44', 'status': '畅通', 'polyline': '113.954018,22.540073;113.954437,22.540096'}, {'lcode': [], 'distance': '53', 'status': '畅通', 'polyline': '113.954437,22.540096;113.954964,22.54011'}, {'lcode': [], 'distance': '49', 'status': '畅通', 'polyline': '113.954964,22.54011;113.955437,22.540123'}, {'lcode': [], 'distance': '50', 'status': '畅通', 'polyline': '113.955437,22.540123;113.955933,22.540138'}, {'lcode': [], 'distance': '55', 'status': '畅通', 'polyline': '113.955933,22.540138;113.956474,22.540152'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '沿深南大道途径沙河大桥向东行驶826米靠左沿主路行驶', 'orientation': '东', 'road': '深南大道', 'distance': '826', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '208', 'polyline': '113.956474,22.540152;113.957741,22.540195;113.958115,22.540205;113.958481,22.540209;113.961021,22.540257;113.961617,22.540264;113.962669,22.540287;113.963348,22.540274;113.963707,22.540257;113.964508,22.540155', 'action': '靠左', 'assistant_action': '沿主路行驶', 'tmcs': [{'lcode': [], 'distance': '131', 'status': '畅通', 'polyline': '113.956474,22.540152;113.957741,22.540195'}, {'lcode': [], 'distance': '75', 'status': '畅通', 'polyline': '113.957741,22.540195;113.958115,22.540205;113.958481,22.540209'}, {'lcode': [], 'distance': '322', 'status': '畅通', 'polyline': '113.958481,22.540209;113.961021,22.540257;113.961617,22.540264'}, {'lcode': [], 'distance': '179', 'status': '畅通', 'polyline': '113.961617,22.540264;113.962669,22.540287;113.963348,22.540274'}, {'lcode': [], 'distance': '36', 'status': '畅通', 'polyline': '113.963348,22.540274;113.963707,22.540257'}, {'lcode': [], 'distance': '83', 'status': '畅通', 'polyline': '113.963707,22.540257;113.964508,22.540155'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '沿深南大道向东行驶980米向右前方行驶进入辅路', 'orientation': '东', 'road': '深南大道', 'distance': '980', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '96', 'polyline': '113.964699,22.540123;113.965691,22.5399;113.966164,22.539749;113.966942,22.539454;113.967949,22.539089;113.968216,22.538984;113.970009,22.538324;113.972168,22.537535;113.972397,22.537445;113.973633,22.536985', 'action': '向右前方行驶', 'assistant_action': '进入辅路', 'tmcs': [{'lcode': [], 'distance': '104', 'status': '畅通', 'polyline': '113.964699,22.540123;113.965691,22.5399'}, {'lcode': [], 'distance': '51', 'status': '畅通', 'polyline': '113.965691,22.5399;113.966164,22.539749'}, {'lcode': [], 'distance': '86', 'status': '畅通', 'polyline': '113.966164,22.539749;113.966942,22.539454'}, {'lcode': [], 'distance': '110', 'status': '畅通', 'polyline': '113.966942,22.539454;113.967949,22.539089'}, {'lcode': [], 'distance': '30', 'status': '畅通', 'polyline': '113.967949,22.539089;113.968216,22.538984'}, {'lcode': [], 'distance': '198', 'status': '畅通', 'polyline': '113.968216,22.538984;113.970009,22.538324'}, {'lcode': [], 'distance': '264', 'status': '畅通', 'polyline': '113.970009,22.538324;113.972168,22.537535;113.972397,22.537445'}, {'lcode': [], 'distance': '137', 'status': '畅通', 'polyline': '113.972397,22.537445;113.973633,22.536985'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '沿深南大道向东行驶236米右转', 'orientation': '东', 'road': '深南大道', 'distance': '236', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '45', 'polyline': '113.973633,22.536985;113.973869,22.5368;113.974434,22.536598;113.974907,22.536428;113.975731,22.536116', 'action': '右转', 'assistant_action': [], 'tmcs': [{'lcode': [], 'distance': '30', 'status': '畅通', 'polyline': '113.973633,22.536985;113.973869,22.5368'}, {'lcode': [], 'distance': '63', 'status': '畅通', 'polyline': '113.973869,22.5368;113.974434,22.536598'}, {'lcode': [], 'distance': '51', 'status': '畅通', 'polyline': '113.974434,22.536598;113.974907,22.536428'}, {'lcode': [], 'distance': '92', 'status': '畅通', 'polyline': '113.974907,22.536428;113.975731,22.536116'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '向西南行驶124米右转', 'orientation': '西南', 'distance': '124', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '96', 'polyline': '113.975731,22.536116;113.97522,22.535408;113.975052,22.535183', 'action': '右转', 'assistant_action': [], 'tmcs': [{'lcode': [], 'distance': '94', 'status': '未知', 'polyline': '113.975731,22.536116;113.97522,22.535408'}, {'lcode': [], 'distance': '30', 'status': '未知', 'polyline': '113.97522,22.535408;113.975052,22.535183'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '向西南行驶143米右转', 'orientation': '西南', 'distance': '143', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '110', 'polyline': '113.975052,22.535183;113.97496,22.535227;113.974693,22.535318;113.974487,22.535313;113.97435,22.535273;113.974205,22.535187;113.974167,22.535131;113.974121,22.535023;113.974159,22.534813;113.97419,22.534765', 'action': '右转', 'assistant_action': [], 'tmcs': [{'lcode': [], 'distance': '40', 'status': '未知', 'polyline': '113.975052,22.535183;113.97496,22.535227;113.974693,22.535318'}, {'lcode': [], 'distance': '61', 'status': '未知', 'polyline': '113.974693,22.535318;113.974487,22.535313;113.97435,22.535273;113.974205,22.535187;113.974167,22.535131'}, {'lcode': [], 'distance': '42', 'status': '未知', 'polyline': '113.974167,22.535131;113.974121,22.535023;113.974159,22.534813;113.97419,22.534765'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '向西行驶114米右转', 'orientation': '西', 'distance': '114', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '89', 'polyline': '113.97419,22.534765;113.973991,22.534676;113.973846,22.534609;113.973366,22.534586;113.973099,22.534586', 'action': '右转', 'assistant_action': [], 'tmcs': [{'lcode': [], 'distance': '22', 'status': '未知', 'polyline': '113.97419,22.534765;113.973991,22.534676'}, {'lcode': [], 'distance': '65', 'status': '未知', 'polyline': '113.973991,22.534676;113.973846,22.534609;113.973366,22.534586'}, {'lcode': [], 'distance': '27', 'status': '未知', 'polyline': '113.973366,22.534586;113.973099,22.534586'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}, {'instruction': '向西北行驶8米到达目的地', 'orientation': '西北', 'distance': '8', 'tolls': '0', 'toll_distance': '0', 'toll_road': [], 'duration': '6', 'polyline': '113.973099,22.534586;113.973061,22.534649', 'action': [], 'assistant_action': '到达目的地', 'tmcs': [{'lcode': [], 'distance': '8', 'status': '未知', 'polyline': '113.973099,22.534586;113.973061,22.534649'}], 'cities': [{'name': '深圳市', 'citycode': '0755', 'adcode': '440300', 'districts': [{'name': '南山区', 'adcode': '440305'}]}]}], 'restriction': '0', 'traffic_lights': '3'}]}}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instruction</th>\n",
       "      <th>orientation</th>\n",
       "      <th>road</th>\n",
       "      <th>distance</th>\n",
       "      <th>tolls</th>\n",
       "      <th>toll_distance</th>\n",
       "      <th>toll_road</th>\n",
       "      <th>duration</th>\n",
       "      <th>polyline</th>\n",
       "      <th>action</th>\n",
       "      <th>assistant_action</th>\n",
       "      <th>tmcs</th>\n",
       "      <th>cities</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>沿海德二道向西行驶54米右转</td>\n",
       "      <td>西</td>\n",
       "      <td>海德二道</td>\n",
       "      <td>54</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>16</td>\n",
       "      <td>113.929153,22.519232;113.928986,22.519272;113....</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'lcode': [], 'distance': '18', 'status': '畅通...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>沿南海大道向北行驶1.2千米直行沿主路行驶</td>\n",
       "      <td>北</td>\n",
       "      <td>南海大道</td>\n",
       "      <td>1157</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>241</td>\n",
       "      <td>113.928658,22.519384;113.928886,22.519978;113....</td>\n",
       "      <td>直行</td>\n",
       "      <td>沿主路行驶</td>\n",
       "      <td>[{'lcode': [], 'distance': '70', 'status': '畅通...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>沿南海大道向北行驶834米向右前方行驶进入匝道</td>\n",
       "      <td>北</td>\n",
       "      <td>南海大道</td>\n",
       "      <td>834</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>291</td>\n",
       "      <td>113.93045,22.529499;113.931396,22.531229;113.9...</td>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td>进入匝道</td>\n",
       "      <td>[{'lcode': [], 'distance': '470', 'status': '拥...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>沿深南南海立交途径深南大道向东北行驶462米靠左沿主路行驶</td>\n",
       "      <td>东北</td>\n",
       "      <td>深南南海立交</td>\n",
       "      <td>462</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>35</td>\n",
       "      <td>113.931992,22.536753;113.932083,22.53688;113.9...</td>\n",
       "      <td>靠左</td>\n",
       "      <td>沿主路行驶</td>\n",
       "      <td>[{'lcode': [], 'distance': '362', 'status': '畅...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>沿深南大道向东行驶2.3千米靠左沿主路行驶</td>\n",
       "      <td>东</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>2320</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>602</td>\n",
       "      <td>113.93383,22.539463;113.934326,22.539463;113.9...</td>\n",
       "      <td>靠左</td>\n",
       "      <td>沿主路行驶</td>\n",
       "      <td>[{'lcode': [], 'distance': '204', 'status': '畅...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>沿深南大道途径沙河大桥向东行驶826米靠左沿主路行驶</td>\n",
       "      <td>东</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>826</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>208</td>\n",
       "      <td>113.956474,22.540152;113.957741,22.540195;113....</td>\n",
       "      <td>靠左</td>\n",
       "      <td>沿主路行驶</td>\n",
       "      <td>[{'lcode': [], 'distance': '131', 'status': '畅...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>沿深南大道向东行驶980米向右前方行驶进入辅路</td>\n",
       "      <td>东</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>980</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>96</td>\n",
       "      <td>113.964699,22.540123;113.965691,22.5399;113.96...</td>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td>进入辅路</td>\n",
       "      <td>[{'lcode': [], 'distance': '104', 'status': '畅...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>沿深南大道向东行驶236米右转</td>\n",
       "      <td>东</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>236</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>45</td>\n",
       "      <td>113.973633,22.536985;113.973869,22.5368;113.97...</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'lcode': [], 'distance': '30', 'status': '畅通...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>向西南行驶124米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>NaN</td>\n",
       "      <td>124</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>96</td>\n",
       "      <td>113.975731,22.536116;113.97522,22.535408;113.9...</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'lcode': [], 'distance': '94', 'status': '未知...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>向西南行驶143米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>NaN</td>\n",
       "      <td>143</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>110</td>\n",
       "      <td>113.975052,22.535183;113.97496,22.535227;113.9...</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'lcode': [], 'distance': '40', 'status': '未知...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>向西行驶114米右转</td>\n",
       "      <td>西</td>\n",
       "      <td>NaN</td>\n",
       "      <td>114</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>89</td>\n",
       "      <td>113.97419,22.534765;113.973991,22.534676;113.9...</td>\n",
       "      <td>右转</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'lcode': [], 'distance': '22', 'status': '未知...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>向西北行驶8米到达目的地</td>\n",
       "      <td>西北</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>6</td>\n",
       "      <td>113.973099,22.534586;113.973061,22.534649</td>\n",
       "      <td>[]</td>\n",
       "      <td>到达目的地</td>\n",
       "      <td>[{'lcode': [], 'distance': '8', 'status': '未知'...</td>\n",
       "      <td>[{'name': '深圳市', 'citycode': '0755', 'adcode':...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      instruction orientation    road distance tolls  \\\n",
       "0                  沿海德二道向西行驶54米右转           西    海德二道       54     0   \n",
       "1           沿南海大道向北行驶1.2千米直行沿主路行驶           北    南海大道     1157     0   \n",
       "2         沿南海大道向北行驶834米向右前方行驶进入匝道           北    南海大道      834     0   \n",
       "3   沿深南南海立交途径深南大道向东北行驶462米靠左沿主路行驶          东北  深南南海立交      462     0   \n",
       "4           沿深南大道向东行驶2.3千米靠左沿主路行驶           东    深南大道     2320     0   \n",
       "5      沿深南大道途径沙河大桥向东行驶826米靠左沿主路行驶           东    深南大道      826     0   \n",
       "6         沿深南大道向东行驶980米向右前方行驶进入辅路           东    深南大道      980     0   \n",
       "7                 沿深南大道向东行驶236米右转           东    深南大道      236     0   \n",
       "8                     向西南行驶124米右转          西南     NaN      124     0   \n",
       "9                     向西南行驶143米右转          西南     NaN      143     0   \n",
       "10                     向西行驶114米右转           西     NaN      114     0   \n",
       "11                   向西北行驶8米到达目的地          西北     NaN        8     0   \n",
       "\n",
       "   toll_distance toll_road duration  \\\n",
       "0              0        []       16   \n",
       "1              0        []      241   \n",
       "2              0        []      291   \n",
       "3              0        []       35   \n",
       "4              0        []      602   \n",
       "5              0        []      208   \n",
       "6              0        []       96   \n",
       "7              0        []       45   \n",
       "8              0        []       96   \n",
       "9              0        []      110   \n",
       "10             0        []       89   \n",
       "11             0        []        6   \n",
       "\n",
       "                                             polyline  action  \\\n",
       "0   113.929153,22.519232;113.928986,22.519272;113....      右转   \n",
       "1   113.928658,22.519384;113.928886,22.519978;113....      直行   \n",
       "2   113.93045,22.529499;113.931396,22.531229;113.9...  向右前方行驶   \n",
       "3   113.931992,22.536753;113.932083,22.53688;113.9...      靠左   \n",
       "4   113.93383,22.539463;113.934326,22.539463;113.9...      靠左   \n",
       "5   113.956474,22.540152;113.957741,22.540195;113....      靠左   \n",
       "6   113.964699,22.540123;113.965691,22.5399;113.96...  向右前方行驶   \n",
       "7   113.973633,22.536985;113.973869,22.5368;113.97...      右转   \n",
       "8   113.975731,22.536116;113.97522,22.535408;113.9...      右转   \n",
       "9   113.975052,22.535183;113.97496,22.535227;113.9...      右转   \n",
       "10  113.97419,22.534765;113.973991,22.534676;113.9...      右转   \n",
       "11          113.973099,22.534586;113.973061,22.534649      []   \n",
       "\n",
       "   assistant_action                                               tmcs  \\\n",
       "0                []  [{'lcode': [], 'distance': '18', 'status': '畅通...   \n",
       "1             沿主路行驶  [{'lcode': [], 'distance': '70', 'status': '畅通...   \n",
       "2              进入匝道  [{'lcode': [], 'distance': '470', 'status': '拥...   \n",
       "3             沿主路行驶  [{'lcode': [], 'distance': '362', 'status': '畅...   \n",
       "4             沿主路行驶  [{'lcode': [], 'distance': '204', 'status': '畅...   \n",
       "5             沿主路行驶  [{'lcode': [], 'distance': '131', 'status': '畅...   \n",
       "6              进入辅路  [{'lcode': [], 'distance': '104', 'status': '畅...   \n",
       "7                []  [{'lcode': [], 'distance': '30', 'status': '畅通...   \n",
       "8                []  [{'lcode': [], 'distance': '94', 'status': '未知...   \n",
       "9                []  [{'lcode': [], 'distance': '40', 'status': '未知...   \n",
       "10               []  [{'lcode': [], 'distance': '22', 'status': '未知...   \n",
       "11            到达目的地  [{'lcode': [], 'distance': '8', 'status': '未知'...   \n",
       "\n",
       "                                               cities  \n",
       "0   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "1   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "2   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "3   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "4   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "5   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "6   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "7   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "8   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "9   [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "10  [{'name': '深圳市', 'citycode': '0755', 'adcode':...  \n",
       "11  [{'name': '深圳市', 'citycode': '0755', 'adcode':...  "
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# B3\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> driving函数\n",
    "def driving(origin,destination,extensions='base',originid=None,destinationid=None,origintype=None,destinationtype=None,strategy=0,waypoints=None,avoidpolygons=None,\n",
    "            avoidroad=None,province=None,number=None,cartype=0,ferry=0,nosteps=0,roadaggregation='false',sig=None,callback=None)->dict:\n",
    "    \"\"\"获取驾车路径规划\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/direction/driving?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'originid':originid, #出发点poiid\n",
    "        'destinationid':destinationid, #目的地poiid\n",
    "        'origintype':origintype, #起点的poi类别\n",
    "        'destinationtype':destinationtype, #终点的poi类别\n",
    "        'strategy':strategy, #驾车选择策略\n",
    "        'waypoints':waypoints, #途经点\n",
    "        'avoidpolygons':avoidpolygons, #避让区域\n",
    "        'avoidroad':avoidroad, #避让道路名\n",
    "        'province':province, #用汉字填入车牌省份缩写，用于判断是否限行\n",
    "        'number':number, #用汉字填入车牌省份缩写，用于判断是否限行\n",
    "        'cartype':cartype, #车辆类型\n",
    "        'ferry':ferry, #在路径规划中，是否使用轮渡\n",
    "        'nosteps':nosteps, #是否返回steps字段内容\n",
    "        'roadaggregation':roadaggregation, #是否返回路径聚合信息\n",
    "        'output':'json'        \n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 获取地理编码\n",
    "南山书城 = geocode('广东省深圳市南山区深圳南山书城')\n",
    "南山书城_location = 南山书城['geocodes'][0]['location']\n",
    "世界之窗_location = 世界之窗['geocodes'][0]['location']\n",
    "print(\"(起点)南山书城_location:\",南山书城_location,\"(终点)世界之窗_location:\",世界之窗_location)\n",
    "\n",
    "# 调用driving函数\n",
    "# 思考：此功能运用了机器学习：根据用户地域、距离、时长、工具等不同场景学习不同的出行决策，根据用户的定位数据、出行数据、反馈数据，\n",
    "# 来为用户提供省时、省力以及舒适性的偏好决策模型；AI：推荐算法，为用户提供驾车最佳方案。\n",
    "南山书城_世界之窗 = driving(南山书城_location,世界之窗_location,extensions='all')\n",
    "print(南山书城_世界之窗)\n",
    "\n",
    "# pandas\n",
    "df = pd.json_normalize(南山书城_世界之窗[\"route\"][\"paths\"][0]['steps'])\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 骑行路径规划\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/direction#t8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)南山书城_location: 113.929239,22.519521 (终点)世界之窗_location: 113.972976,22.534607\n",
      "{'data': {'destination': '113.972976,22.534607', 'origin': '113.929239,22.519521', 'paths': [{'distance': 7228, 'duration': 1735, 'steps': [{'action': '右转', 'assistant_action': '', 'distance': 19, 'duration': 5, 'instruction': '骑行19米右转', 'orientation': '', 'polyline': '113.929236,22.519388;113.929171,22.519227', 'road': '', 'walk_type': 0}, {'action': '右转', 'assistant_action': '', 'distance': 55, 'duration': 13, 'instruction': '沿海德二道向西骑行55米右转', 'orientation': '西', 'polyline': '113.929167,22.519232;113.928997,22.519271;113.928997,22.519271;113.928798,22.519336;113.928798,22.519336;113.928659,22.519384', 'road': '海德二道', 'walk_type': 0}, {'action': '向右前方行驶', 'assistant_action': None, 'distance': 69, 'duration': 17, 'instruction': '沿南海大道向北骑行69米向右前方行驶', 'orientation': '北', 'polyline': '113.928655,22.519384;113.928676,22.519462;113.928676,22.519462;113.928885,22.519983', 'road': '南海大道', 'walk_type': 0}, {'action': '向右前方行驶', 'assistant_action': '', 'distance': 213, 'duration': 51, 'instruction': '沿滨海南海立交桥骑行213米向右前方行驶', 'orientation': '', 'polyline': '113.928885,22.519983;113.929023,22.520087;113.929067,22.520174;113.929149,22.520378;113.929288,22.520747;113.929497,22.52151;113.92954,22.52178', 'road': '滨海南海立交桥', 'walk_type': 0}, {'action': '左转', 'assistant_action': '', 'distance': 456, 'duration': 109, 'instruction': '沿滨海大道辅路骑行456米左转', 'orientation': '', 'polyline': '113.92954,22.52178;113.92967,22.521871;113.9299,22.52201;113.930022,22.522044;113.930286,22.522088;113.930286,22.522088;113.930755,22.521992;113.930755,22.521992;113.931463,22.521836;113.931463,22.521836;113.931532,22.521819;113.931532,22.521819;113.932096,22.521697;113.932096,22.521697;113.932921,22.521532;113.932921,22.521532;113.933134,22.521254;113.933134,22.521254;113.933194,22.521094;113.933203,22.520838;113.933203,22.520838;113.933186,22.520747', 'road': '滨海大道辅路', 'walk_type': 0}, {'action': '左转', 'assistant_action': '', 'distance': 28, 'duration': 7, 'instruction': '骑行28米左转', 'orientation': '', 'polyline': '113.933186,22.520742;113.933464,22.520694', 'road': '', 'walk_type': 1}, {'action': '右转', 'assistant_action': '', 'distance': 29, 'duration': 7, 'instruction': '沿后海大道向北骑行29米右转', 'orientation': '北', 'polyline': '113.933464,22.52069;113.933468,22.520716;113.933468,22.520716;113.933546,22.520942', 'road': '后海大道', 'walk_type': 0}, {'action': '右转', 'assistant_action': '', 'distance': 269, 'duration': 65, 'instruction': '骑行269米右转', 'orientation': '', 'polyline': '113.933546,22.520942;113.933676,22.520872;113.933676,22.520872;113.933876,22.521042;113.933876,22.521042;113.933711,22.521306;113.934041,22.522157;113.93441,22.522274;113.93441,22.522274;113.934384,22.522361;113.934375,22.522431;113.93441,22.522561;113.93441,22.522561;113.934245,22.522648', 'road': '', 'walk_type': 4}, {'action': '右转', 'assistant_action': '', 'distance': 285, 'duration': 68, 'instruction': '沿后海大道向北骑行285米右转', 'orientation': '北', 'polyline': '113.93424,22.522648;113.934605,22.523403;113.934714,22.523668;113.934714,22.523668;113.934783,22.523806;113.934783,22.523806;113.934974,22.524201;113.934952,22.524353;113.934952,22.524353;113.935256,22.525035', 'road': '后海大道', 'walk_type': 0}, {'action': '右转', 'assistant_action': None, 'distance': 1607, 'duration': 386, 'instruction': '沿高新南十道向东骑行1607米右转', 'orientation': '东', 'polyline': '113.935256,22.525035;113.936398,22.525;113.936398,22.525;113.936467,22.525;113.936467,22.525;113.936806,22.524996;113.936806,22.524996;113.937279,22.524983;113.937279,22.524983;113.938016,22.524974;113.938016,22.524974;113.938095,22.52497;113.938095,22.52497;113.938277,22.52497;113.938277,22.52497;113.939041,22.524939;113.939041,22.524939;113.939106,22.524939;113.939106,22.524939;113.939696,22.524926;113.939696,22.524926;113.939887,22.524922;113.939887,22.524922;113.940208,22.524909;113.940208,22.524909;113.940551,22.524905;113.940551,22.524905;113.940582,22.524905;113.940582,22.524905;113.941298,22.524887;113.941298,22.524887;113.941389,22.524887;113.941389,22.524887;113.941662,22.524887;113.941962,22.524905;113.942161,22.524965;113.942313,22.525039;113.942448,22.525126;113.942656,22.525317;113.942951,22.525781;113.943082,22.525942;113.943082,22.525942;113.943242,22.526115;113.943494,22.526337;113.943494,22.526337;113.943576,22.526402;113.943576,22.526402;113.943824,22.526558;113.944045,22.526671;113.944045,22.526671;113.944188,22.52674;113.944188,22.52674;113.94444,22.526819;113.944653,22.526875;113.945395,22.526918;113.945395,22.526918;113.945655,22.526927;113.945655,22.526927;113.945846,22.526927;113.945846,22.526927;113.945972,22.52684;113.945972,22.52684;113.946102,22.526936;113.946102,22.526936;113.947105,22.526949;113.947105,22.526949;113.947865,22.526962;113.947865,22.526962;113.947934,22.526962;113.947934,22.526962;113.94898,22.526979;113.94898,22.526979;113.949423,22.526992;113.949423,22.526992;113.949523,22.526957;113.949787,22.526953;113.949865,22.526927;113.949865,22.526927;113.949987,22.526997;113.949987,22.526997;113.950078,22.526997', 'road': '高新南十道', 'walk_type': 0}, {'action': '左转', 'assistant_action': None, 'distance': 18, 'duration': 4, 'instruction': '骑行18米左转', 'orientation': '', 'polyline': '113.950078,22.526997;113.950161,22.526858', 'road': '', 'walk_type': 1}, {'action': '直行', 'assistant_action': None, 'distance': 383, 'duration': 92, 'instruction': '沿高新南十道骑行383米直行', 'orientation': '', 'polyline': '113.950161,22.526853;113.950247,22.526962;113.95033,22.52701;113.95033,22.52701;113.951016,22.527027;113.951016,22.527027;113.952331,22.527066;113.952331,22.527066;113.952365,22.527066;113.952365,22.527066;113.953815,22.527083', 'road': '高新南十道', 'walk_type': 0}, {'action': '左转', 'assistant_action': '', 'distance': 68, 'duration': 16, 'instruction': '沿沙河西路骑行68米左转', 'orientation': '', 'polyline': '113.953815,22.527083;113.953924,22.527044;113.954366,22.52704;113.954457,22.526997', 'road': '沙河西路', 'walk_type': 0}, {'action': '向右前方行驶', 'assistant_action': '', 'distance': 19, 'duration': 5, 'instruction': '骑行19米向右前方行驶', 'orientation': '', 'polyline': '113.954457,22.526992;113.954609,22.527088', 'road': '', 'walk_type': 1}, {'action': '左转', 'assistant_action': '', 'distance': 17, 'duration': 4, 'instruction': '沿高新南十道向东骑行17米左转', 'orientation': '东', 'polyline': '113.954609,22.527088;113.954779,22.527088', 'road': '高新南十道', 'walk_type': 0}, {'action': '直行', 'assistant_action': None, 'distance': 1981, 'duration': 475, 'instruction': '沿沙河西路向东北骑行1981米直行', 'orientation': '东北', 'polyline': '113.954779,22.527083;113.954787,22.527157;113.954787,22.527157;113.954878,22.528199;113.954878,22.528199;113.955078,22.531411;113.955078,22.531411;113.95513,22.531471;113.955169,22.531536;113.955282,22.531966;113.955373,22.532196;113.955373,22.532196;113.955516,22.532543;113.955516,22.532543;113.955547,22.532609;113.955916,22.533194;113.955916,22.533194;113.956107,22.533498;113.956107,22.533498;113.956267,22.533802;113.956328,22.534058;113.956328,22.534058;113.956784,22.53487;113.956784,22.53487;113.956832,22.534957;113.956832,22.534957;113.957062,22.535308;113.957062,22.535308;113.957847,22.536562;113.958533,22.537635;113.958533,22.537635;113.958663,22.537839;113.958663,22.537839;113.958793,22.53806;113.958793,22.53806;113.958919,22.538325;113.959058,22.53872;113.959128,22.539036;113.959167,22.539431;113.959167,22.539431;113.959227,22.539505;113.959266,22.539579;113.959301,22.539887;113.959327,22.539948;113.959418,22.540048;113.95954,22.5401;113.959674,22.540126;113.960035,22.54013;113.960035,22.54013;113.960178,22.540135;113.960178,22.540135;113.960486,22.540139;113.960486,22.540139;113.960807,22.540148;113.960807,22.540148;113.961081,22.540152;113.961081,22.540152;113.962986,22.540174;113.963355,22.540273;113.963355,22.540273;113.963711,22.54026', 'road': '沙河西路', 'walk_type': 0}, {'action': '左转', 'assistant_action': '', 'distance': 68, 'duration': 16, 'instruction': '沿沙河东路骑行68米左转', 'orientation': '', 'polyline': '113.963711,22.540256;113.963828,22.5402;113.96421,22.540113;113.964301,22.540039', 'road': '沙河东路', 'walk_type': 0}, {'action': '向右前方行驶', 'assistant_action': '', 'distance': 25, 'duration': 6, 'instruction': '骑行25米向右前方行驶', 'orientation': '', 'polyline': '113.964301,22.540035;113.964514,22.540156', 'road': '', 'walk_type': 1}, {'action': '右转', 'assistant_action': None, 'distance': 19, 'duration': 5, 'instruction': '沿深南大道向东骑行19米右转', 'orientation': '东', 'polyline': '113.964514,22.540156;113.964696,22.54013', 'road': '深南大道', 'walk_type': 0}, {'action': '左转', 'assistant_action': None, 'distance': 28, 'duration': 7, 'instruction': '骑行28米左转', 'orientation': '', 'polyline': '113.964696,22.540126;113.964857,22.539913', 'road': '', 'walk_type': 1}, {'action': '右转', 'assistant_action': '', 'distance': 1191, 'duration': 286, 'instruction': '沿深南大道骑行1191米右转', 'orientation': '', 'polyline': '113.964857,22.539909;113.964996,22.539926;113.965469,22.539835;113.965469,22.539835;113.96582,22.539748;113.966085,22.539666;113.966315,22.539575;113.966315,22.539575;113.966428,22.539531;113.966428,22.539531;113.966923,22.539362;113.966923,22.539362;113.967496,22.539158;113.967496,22.539158;113.967613,22.53911;113.967613,22.53911;113.967734,22.539067;113.967734,22.539067;113.968138,22.538915;113.968138,22.538915;113.968181,22.538893;113.968181,22.538893;113.969757,22.538316;113.970556,22.537982;113.971997,22.537444;113.971997,22.537444;113.972266,22.537365;113.972266,22.537365;113.973121,22.537062;113.973121,22.537062;113.973754,22.536845;113.973754,22.536845;113.973859,22.53681;113.973859,22.53681;113.973967,22.536771;113.973967,22.536771;113.97444,22.536606;113.97444,22.536606;113.974705,22.536506;113.974705,22.536506;113.974905,22.536432;113.974905,22.536432;113.975339,22.536272;113.975339,22.536272;113.975738,22.53612', 'road': '深南大道', 'walk_type': 0}, {'action': '右转', 'assistant_action': '', 'distance': 123, 'duration': 30, 'instruction': '向西南骑行123米右转', 'orientation': '西南', 'polyline': '113.975738,22.536115;113.975621,22.535937;113.975621,22.535937;113.975573,22.53589;113.975573,22.53589;113.975221,22.535412;113.975221,22.535412;113.975052,22.535187', 'road': '', 'walk_type': 0}, {'action': '向左前方行驶', 'assistant_action': '', 'distance': 40, 'duration': 10, 'instruction': '向西骑行40米向左前方行驶', 'orientation': '西', 'polyline': '113.975048,22.535182;113.974961,22.535226;113.974696,22.535317', 'road': '', 'walk_type': 0}, {'action': '右转', 'assistant_action': '', 'distance': 103, 'duration': 25, 'instruction': '向西南骑行103米右转', 'orientation': '西南', 'polyline': '113.974692,22.535317;113.974488,22.535317;113.974345,22.535278;113.974206,22.535191;113.974171,22.535135;113.974171,22.535135;113.974132,22.535026;113.974158,22.534818;113.974188,22.53477', 'road': '', 'walk_type': 0}, {'action': '', 'assistant_action': '到达目的地', 'distance': 115, 'duration': 28, 'instruction': '向西骑行115米到达目的地', 'orientation': '西', 'polyline': '113.974188,22.534766;113.973993,22.534679;113.973993,22.534679;113.973854,22.534614;113.973377,22.534592;113.973377,22.534592;113.973099,22.534592', 'road': '', 'walk_type': 0}]}]}, 'errcode': 0, 'errdetail': None, 'errmsg': 'OK', 'ext': None}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>action</th>\n",
       "      <th>assistant_action</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>instruction</th>\n",
       "      <th>orientation</th>\n",
       "      <th>polyline</th>\n",
       "      <th>road</th>\n",
       "      <th>walk_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>19</td>\n",
       "      <td>5</td>\n",
       "      <td>骑行19米右转</td>\n",
       "      <td></td>\n",
       "      <td>113.929236,22.519388;113.929171,22.519227</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>55</td>\n",
       "      <td>13</td>\n",
       "      <td>沿海德二道向西骑行55米右转</td>\n",
       "      <td>西</td>\n",
       "      <td>113.929167,22.519232;113.928997,22.519271;113....</td>\n",
       "      <td>海德二道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td>None</td>\n",
       "      <td>69</td>\n",
       "      <td>17</td>\n",
       "      <td>沿南海大道向北骑行69米向右前方行驶</td>\n",
       "      <td>北</td>\n",
       "      <td>113.928655,22.519384;113.928676,22.519462;113....</td>\n",
       "      <td>南海大道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td></td>\n",
       "      <td>213</td>\n",
       "      <td>51</td>\n",
       "      <td>沿滨海南海立交桥骑行213米向右前方行驶</td>\n",
       "      <td></td>\n",
       "      <td>113.928885,22.519983;113.929023,22.520087;113....</td>\n",
       "      <td>滨海南海立交桥</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>左转</td>\n",
       "      <td></td>\n",
       "      <td>456</td>\n",
       "      <td>109</td>\n",
       "      <td>沿滨海大道辅路骑行456米左转</td>\n",
       "      <td></td>\n",
       "      <td>113.92954,22.52178;113.92967,22.521871;113.929...</td>\n",
       "      <td>滨海大道辅路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>左转</td>\n",
       "      <td></td>\n",
       "      <td>28</td>\n",
       "      <td>7</td>\n",
       "      <td>骑行28米左转</td>\n",
       "      <td></td>\n",
       "      <td>113.933186,22.520742;113.933464,22.520694</td>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>29</td>\n",
       "      <td>7</td>\n",
       "      <td>沿后海大道向北骑行29米右转</td>\n",
       "      <td>北</td>\n",
       "      <td>113.933464,22.52069;113.933468,22.520716;113.9...</td>\n",
       "      <td>后海大道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>269</td>\n",
       "      <td>65</td>\n",
       "      <td>骑行269米右转</td>\n",
       "      <td></td>\n",
       "      <td>113.933546,22.520942;113.933676,22.520872;113....</td>\n",
       "      <td></td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>285</td>\n",
       "      <td>68</td>\n",
       "      <td>沿后海大道向北骑行285米右转</td>\n",
       "      <td>北</td>\n",
       "      <td>113.93424,22.522648;113.934605,22.523403;113.9...</td>\n",
       "      <td>后海大道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>右转</td>\n",
       "      <td>None</td>\n",
       "      <td>1607</td>\n",
       "      <td>386</td>\n",
       "      <td>沿高新南十道向东骑行1607米右转</td>\n",
       "      <td>东</td>\n",
       "      <td>113.935256,22.525035;113.936398,22.525;113.936...</td>\n",
       "      <td>高新南十道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>左转</td>\n",
       "      <td>None</td>\n",
       "      <td>18</td>\n",
       "      <td>4</td>\n",
       "      <td>骑行18米左转</td>\n",
       "      <td></td>\n",
       "      <td>113.950078,22.526997;113.950161,22.526858</td>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>直行</td>\n",
       "      <td>None</td>\n",
       "      <td>383</td>\n",
       "      <td>92</td>\n",
       "      <td>沿高新南十道骑行383米直行</td>\n",
       "      <td></td>\n",
       "      <td>113.950161,22.526853;113.950247,22.526962;113....</td>\n",
       "      <td>高新南十道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>左转</td>\n",
       "      <td></td>\n",
       "      <td>68</td>\n",
       "      <td>16</td>\n",
       "      <td>沿沙河西路骑行68米左转</td>\n",
       "      <td></td>\n",
       "      <td>113.953815,22.527083;113.953924,22.527044;113....</td>\n",
       "      <td>沙河西路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td></td>\n",
       "      <td>19</td>\n",
       "      <td>5</td>\n",
       "      <td>骑行19米向右前方行驶</td>\n",
       "      <td></td>\n",
       "      <td>113.954457,22.526992;113.954609,22.527088</td>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>左转</td>\n",
       "      <td></td>\n",
       "      <td>17</td>\n",
       "      <td>4</td>\n",
       "      <td>沿高新南十道向东骑行17米左转</td>\n",
       "      <td>东</td>\n",
       "      <td>113.954609,22.527088;113.954779,22.527088</td>\n",
       "      <td>高新南十道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>直行</td>\n",
       "      <td>None</td>\n",
       "      <td>1981</td>\n",
       "      <td>475</td>\n",
       "      <td>沿沙河西路向东北骑行1981米直行</td>\n",
       "      <td>东北</td>\n",
       "      <td>113.954779,22.527083;113.954787,22.527157;113....</td>\n",
       "      <td>沙河西路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>左转</td>\n",
       "      <td></td>\n",
       "      <td>68</td>\n",
       "      <td>16</td>\n",
       "      <td>沿沙河东路骑行68米左转</td>\n",
       "      <td></td>\n",
       "      <td>113.963711,22.540256;113.963828,22.5402;113.96...</td>\n",
       "      <td>沙河东路</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td></td>\n",
       "      <td>25</td>\n",
       "      <td>6</td>\n",
       "      <td>骑行25米向右前方行驶</td>\n",
       "      <td></td>\n",
       "      <td>113.964301,22.540035;113.964514,22.540156</td>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>右转</td>\n",
       "      <td>None</td>\n",
       "      <td>19</td>\n",
       "      <td>5</td>\n",
       "      <td>沿深南大道向东骑行19米右转</td>\n",
       "      <td>东</td>\n",
       "      <td>113.964514,22.540156;113.964696,22.54013</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>左转</td>\n",
       "      <td>None</td>\n",
       "      <td>28</td>\n",
       "      <td>7</td>\n",
       "      <td>骑行28米左转</td>\n",
       "      <td></td>\n",
       "      <td>113.964696,22.540126;113.964857,22.539913</td>\n",
       "      <td></td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>1191</td>\n",
       "      <td>286</td>\n",
       "      <td>沿深南大道骑行1191米右转</td>\n",
       "      <td></td>\n",
       "      <td>113.964857,22.539909;113.964996,22.539926;113....</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>123</td>\n",
       "      <td>30</td>\n",
       "      <td>向西南骑行123米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.975738,22.536115;113.975621,22.535937;113....</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>向左前方行驶</td>\n",
       "      <td></td>\n",
       "      <td>40</td>\n",
       "      <td>10</td>\n",
       "      <td>向西骑行40米向左前方行驶</td>\n",
       "      <td>西</td>\n",
       "      <td>113.975048,22.535182;113.974961,22.535226;113....</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>103</td>\n",
       "      <td>25</td>\n",
       "      <td>向西南骑行103米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.974692,22.535317;113.974488,22.535317;113....</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td></td>\n",
       "      <td>到达目的地</td>\n",
       "      <td>115</td>\n",
       "      <td>28</td>\n",
       "      <td>向西骑行115米到达目的地</td>\n",
       "      <td>西</td>\n",
       "      <td>113.974188,22.534766;113.973993,22.534679;113....</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    action assistant_action  distance  duration           instruction  \\\n",
       "0       右转                         19         5               骑行19米右转   \n",
       "1       右转                         55        13        沿海德二道向西骑行55米右转   \n",
       "2   向右前方行驶             None        69        17    沿南海大道向北骑行69米向右前方行驶   \n",
       "3   向右前方行驶                        213        51  沿滨海南海立交桥骑行213米向右前方行驶   \n",
       "4       左转                        456       109       沿滨海大道辅路骑行456米左转   \n",
       "5       左转                         28         7               骑行28米左转   \n",
       "6       右转                         29         7        沿后海大道向北骑行29米右转   \n",
       "7       右转                        269        65              骑行269米右转   \n",
       "8       右转                        285        68       沿后海大道向北骑行285米右转   \n",
       "9       右转             None      1607       386     沿高新南十道向东骑行1607米右转   \n",
       "10      左转             None        18         4               骑行18米左转   \n",
       "11      直行             None       383        92        沿高新南十道骑行383米直行   \n",
       "12      左转                         68        16          沿沙河西路骑行68米左转   \n",
       "13  向右前方行驶                         19         5           骑行19米向右前方行驶   \n",
       "14      左转                         17         4       沿高新南十道向东骑行17米左转   \n",
       "15      直行             None      1981       475     沿沙河西路向东北骑行1981米直行   \n",
       "16      左转                         68        16          沿沙河东路骑行68米左转   \n",
       "17  向右前方行驶                         25         6           骑行25米向右前方行驶   \n",
       "18      右转             None        19         5        沿深南大道向东骑行19米右转   \n",
       "19      左转             None        28         7               骑行28米左转   \n",
       "20      右转                       1191       286        沿深南大道骑行1191米右转   \n",
       "21      右转                        123        30           向西南骑行123米右转   \n",
       "22  向左前方行驶                         40        10         向西骑行40米向左前方行驶   \n",
       "23      右转                        103        25           向西南骑行103米右转   \n",
       "24                    到达目的地       115        28         向西骑行115米到达目的地   \n",
       "\n",
       "   orientation                                           polyline     road  \\\n",
       "0                       113.929236,22.519388;113.929171,22.519227            \n",
       "1            西  113.929167,22.519232;113.928997,22.519271;113....     海德二道   \n",
       "2            北  113.928655,22.519384;113.928676,22.519462;113....     南海大道   \n",
       "3               113.928885,22.519983;113.929023,22.520087;113....  滨海南海立交桥   \n",
       "4               113.92954,22.52178;113.92967,22.521871;113.929...   滨海大道辅路   \n",
       "5                       113.933186,22.520742;113.933464,22.520694            \n",
       "6            北  113.933464,22.52069;113.933468,22.520716;113.9...     后海大道   \n",
       "7               113.933546,22.520942;113.933676,22.520872;113....            \n",
       "8            北  113.93424,22.522648;113.934605,22.523403;113.9...     后海大道   \n",
       "9            东  113.935256,22.525035;113.936398,22.525;113.936...    高新南十道   \n",
       "10                      113.950078,22.526997;113.950161,22.526858            \n",
       "11              113.950161,22.526853;113.950247,22.526962;113....    高新南十道   \n",
       "12              113.953815,22.527083;113.953924,22.527044;113....     沙河西路   \n",
       "13                      113.954457,22.526992;113.954609,22.527088            \n",
       "14           东          113.954609,22.527088;113.954779,22.527088    高新南十道   \n",
       "15          东北  113.954779,22.527083;113.954787,22.527157;113....     沙河西路   \n",
       "16              113.963711,22.540256;113.963828,22.5402;113.96...     沙河东路   \n",
       "17                      113.964301,22.540035;113.964514,22.540156            \n",
       "18           东           113.964514,22.540156;113.964696,22.54013     深南大道   \n",
       "19                      113.964696,22.540126;113.964857,22.539913            \n",
       "20              113.964857,22.539909;113.964996,22.539926;113....     深南大道   \n",
       "21          西南  113.975738,22.536115;113.975621,22.535937;113....            \n",
       "22           西  113.975048,22.535182;113.974961,22.535226;113....            \n",
       "23          西南  113.974692,22.535317;113.974488,22.535317;113....            \n",
       "24           西  113.974188,22.534766;113.973993,22.534679;113....            \n",
       "\n",
       "    walk_type  \n",
       "0           0  \n",
       "1           0  \n",
       "2           0  \n",
       "3           0  \n",
       "4           0  \n",
       "5           1  \n",
       "6           0  \n",
       "7           4  \n",
       "8           0  \n",
       "9           0  \n",
       "10          1  \n",
       "11          0  \n",
       "12          0  \n",
       "13          1  \n",
       "14          0  \n",
       "15          0  \n",
       "16          0  \n",
       "17          1  \n",
       "18          0  \n",
       "19          1  \n",
       "20          0  \n",
       "21          0  \n",
       "22          0  \n",
       "23          0  \n",
       "24          0  "
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# B4\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> bicycling函数\n",
    "def bicycling(origin,destination)->dict:\n",
    "    \"\"\"获取骑行路径规划\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v4/direction/bicycling?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin,\n",
    "        'destination':destination      \n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 获取地理编码\n",
    "南山书城 = geocode('广东省深圳市南山区深圳南山书城')\n",
    "南山书城_location = 南山书城['geocodes'][0]['location']\n",
    "世界之窗_location = 世界之窗['geocodes'][0]['location']\n",
    "print(\"(起点)南山书城_location:\",南山书城_location,\"(终点)世界之窗_location:\",世界之窗_location)\n",
    "\n",
    "# 调用bicycling函数\n",
    "# 思考：此功能运用了机器学习：根据用户地域、距离、时长、工具等不同场景学习不同的出行决策，根据用户的定位数据、出行数据、反馈数据，\n",
    "# 来为用户提供省时、省力以及舒适性的偏好决策模型；AI：推荐算法，为用户提供骑行最佳方案。\n",
    "南山书城_世界之窗 = bicycling(南山书城_location,世界之窗_location)\n",
    "print(南山书城_世界之窗)\n",
    "\n",
    "# pandas\n",
    "df_bicycling = pd.json_normalize(南山书城_世界之窗['data']['paths'][0]['steps'])\n",
    "df_bicycling"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 货车路径规划\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/direction#t9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)南山书城_location: 113.929239,22.519521 (终点)世界之窗_location: 113.972976,22.534607\n",
      "{'data': {'route': {'destination': '113.972976,22.534607', 'origin': '113.929239,22.519521', 'paths': [{'distance': 7436, 'duration': 1416, 'restriction': 0, 'steps': [{'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 54, 'duration': 20, 'instruction': '沿海德二道向西行驶54米右转', 'orientation': '西', 'polyline': '113.929154,22.519232;113.928989,22.519271;113.928655,22.519384', 'road': '海德二道', 'tmcs': [{'distance': 18, 'polyline': '113.929154,22.519232;113.928989,22.519271', 'status': '拥堵'}, {'distance': 36, 'polyline': '113.928989,22.519271;113.928655,22.519384', 'status': '拥堵'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入匝道', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 70, 'duration': 15, 'instruction': '沿南海大道向北行驶70米向右前方行驶进入匝道', 'orientation': '北', 'polyline': '113.928655,22.519384;113.928885,22.519978', 'road': '南海大道', 'tmcs': [{'distance': 70, 'polyline': '113.928655,22.519384;113.928885,22.519978', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 213, 'duration': 38, 'instruction': '沿滨海南海立交桥向北行驶213米右转', 'orientation': '北', 'polyline': '113.928885,22.519978;113.929023,22.520087;113.929067,22.520174;113.929154,22.520378;113.929288,22.520747;113.929375,22.521055;113.929492,22.52151;113.92954,22.52178', 'road': '滨海南海立交桥', 'tmcs': [{'distance': 213, 'polyline': '113.928885,22.519978;113.929023,22.520087;113.929067,22.520174;113.929154,22.520378;113.929288,22.520747;113.929375,22.521055;113.929492,22.52151;113.92954,22.52178', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向左前方行驶', 'assistant_action': '进入主路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 546, 'duration': 77, 'instruction': '沿滨海南海立交桥途径滨海大道辅路向东行驶546米向左前方行驶进入主路', 'orientation': '东', 'polyline': '113.92954,22.52178;113.92967,22.521871;113.929835,22.52197;113.9299,22.52201;113.930022,22.522044;113.930291,22.522088;113.930751,22.521988;113.930829,22.52197;113.931467,22.521832;113.931532,22.521814;113.932092,22.521693;113.932921,22.521523;113.933746,22.521424;113.934306,22.521385;113.93477,22.52138', 'road': '滨海南海立交桥', 'tmcs': [{'distance': 86, 'polyline': '113.92954,22.52178;113.92967,22.521871;113.929835,22.52197;113.9299,22.52201;113.930022,22.522044;113.930291,22.522088', 'status': '畅通'}, {'distance': 49, 'polyline': '113.930291,22.522088;113.930751,22.521988', 'status': '畅通'}, {'distance': 75, 'polyline': '113.930751,22.521988;113.930829,22.52197;113.931467,22.521832;113.931532,22.521814', 'status': '畅通'}, {'distance': 59, 'polyline': '113.931532,22.521814;113.932092,22.521693', 'status': '畅通'}, {'distance': 87, 'polyline': '113.932092,22.521693;113.932921,22.521523', 'status': '畅通'}, {'distance': 85, 'polyline': '113.932921,22.521523;113.933746,22.521424', 'status': '畅通'}, {'distance': 57, 'polyline': '113.933746,22.521424;113.934306,22.521385', 'status': '畅通'}, {'distance': 48, 'polyline': '113.934306,22.521385;113.93477,22.52138', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入辅路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 1413, 'duration': 100, 'instruction': '沿滨海大道入口途径滨海大道向东行驶1.4千米向右前方行驶进入辅路', 'orientation': '东', 'polyline': '113.93477,22.52138;113.93536,22.521727;113.936063,22.521476;113.936341,22.521402;113.936615,22.52135;113.938455,22.521272;113.938867,22.521337;113.93911,22.521424;113.940165,22.521628;113.940456,22.521654;113.940725,22.521667;113.94296,22.521606;113.943294,22.521576;113.94365,22.521519;113.944392,22.52138;113.944609,22.521354;113.945104,22.521332;113.945755,22.521354;113.948294,22.521302', 'road': '滨海大道入口', 'tmcs': [{'distance': 71, 'polyline': '113.93477,22.52138;113.93536,22.521727', 'status': '畅通'}, {'distance': 136, 'polyline': '113.93536,22.521727;113.936063,22.521476;113.936341,22.521402;113.936615,22.52135', 'status': '畅通'}, {'distance': 233, 'polyline': '113.936615,22.52135;113.938455,22.521272;113.938867,22.521337', 'status': '畅通'}, {'distance': 137, 'polyline': '113.938867,22.521337;113.93911,22.521424;113.940165,22.521628', 'status': '畅通'}, {'distance': 437, 'polyline': '113.940165,22.521628;113.940456,22.521654;113.940725,22.521667;113.94296,22.521606;113.943294,22.521576;113.94365,22.521519;113.944392,22.52138', 'status': '畅通'}, {'distance': 72, 'polyline': '113.944392,22.52138;113.944609,22.521354;113.945104,22.521332', 'status': '畅通'}, {'distance': 67, 'polyline': '113.945104,22.521332;113.945755,22.521354', 'status': '畅通'}, {'distance': 260, 'polyline': '113.945755,22.521354;113.948294,22.521302', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '靠右', 'assistant_action': '进入匝道', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 301, 'duration': 28, 'instruction': '沿滨海大道出口途径滨海大道辅路向东行驶301米靠右进入匝道', 'orientation': '东', 'polyline': '113.948294,22.521302;113.949661,22.520972;113.95003,22.520933;113.950195,22.52092;113.950612,22.520872;113.951181,22.520825', 'road': '滨海大道出口', 'tmcs': [{'distance': 145, 'polyline': '113.948294,22.521302;113.949661,22.520972', 'status': '畅通'}, {'distance': 38, 'polyline': '113.949661,22.520972;113.95003,22.520933', 'status': '畅通'}, {'distance': 60, 'polyline': '113.95003,22.520933;113.950195,22.52092;113.950612,22.520872', 'status': '畅通'}, {'distance': 58, 'polyline': '113.950612,22.520872;113.951181,22.520825', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '靠左', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 240, 'duration': 14, 'instruction': '沿滨海沙河西立交向东南行驶240米靠左', 'orientation': '东南', 'polyline': '113.951181,22.520825;113.95138,22.52076;113.951562,22.52072;113.951706,22.520681;113.951771,22.520655;113.951858,22.520608;113.951962,22.520516;113.952005,22.520464;113.952118,22.520286;113.952318,22.519835;113.952409,22.519657;113.952504,22.51954;113.952565,22.519484;113.952613,22.51944;113.952721,22.519375', 'road': '滨海沙河西立交', 'tmcs': [{'distance': 240, 'polyline': '113.951181,22.520825;113.95138,22.52076;113.951562,22.52072;113.951706,22.520681;113.951771,22.520655;113.951858,22.520608;113.951962,22.520516;113.952005,22.520464;113.952118,22.520286;113.952318,22.519835;113.952409,22.519657;113.952504,22.51954;113.952565,22.519484;113.952613,22.51944;113.952721,22.519375', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入辅路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 2393, 'duration': 541, 'instruction': '沿滨海沙河西立交途径沙河西路向北行驶2.4千米向右前方行驶进入辅路', 'orientation': '北', 'polyline': '113.952721,22.519375;113.952891,22.519319;113.953047,22.519297;113.953199,22.51931;113.95332,22.51934;113.953464,22.519405;113.953529,22.519444;113.953594,22.519501;113.953641,22.519557;113.953707,22.519644;113.953906,22.520056;113.954067,22.521424;113.95411,22.521523;113.954162,22.52197;113.954249,22.522591;113.954388,22.523477;113.954475,22.524136;113.954553,22.524805;113.95464,22.525352;113.954674,22.525516;113.954701,22.525933;113.954779,22.527083;113.954783,22.527157;113.954874,22.528199;113.955074,22.531411;113.955122,22.531723;113.955169,22.531927;113.955347,22.532422;113.95553,22.532765;113.955647,22.532956;113.956324,22.534058;113.956784,22.53487;113.956836,22.534957;113.957062,22.535308;113.957843,22.536562;113.958529,22.537635;113.958663,22.537839;113.958793,22.53806;113.958919,22.538325;113.959054,22.53872;113.959123,22.539036;113.959167,22.539431', 'road': '滨海沙河西立交', 'tmcs': [{'distance': 34, 'polyline': '113.952721,22.519375;113.952891,22.519319;113.953047,22.519297', 'status': '畅通'}, {'distance': 131, 'polyline': '113.953047,22.519297;113.953199,22.51931;113.95332,22.51934;113.953464,22.519405;113.953529,22.519444;113.953594,22.519501;113.953641,22.519557;113.953707,22.519644;113.953906,22.520056', 'status': '畅通'}, {'distance': 152, 'polyline': '113.953906,22.520056;113.954067,22.521424', 'status': '畅通'}, {'distance': 230, 'polyline': '113.954067,22.521424;113.95411,22.521523;113.954162,22.52197;113.954249,22.522591;113.954388,22.523477', 'status': '畅通'}, {'distance': 73, 'polyline': '113.954388,22.523477;113.954475,22.524136', 'status': '畅通'}, {'distance': 73, 'polyline': '113.954475,22.524136;113.954553,22.524805', 'status': '畅通'}, {'distance': 61, 'polyline': '113.954553,22.524805;113.95464,22.525352', 'status': '畅通'}, {'distance': 64, 'polyline': '113.95464,22.525352;113.954674,22.525516;113.954701,22.525933', 'status': '畅通'}, {'distance': 127, 'polyline': '113.954701,22.525933;113.954779,22.527083;113.954783,22.527157', 'status': '畅通'}, {'distance': 115, 'polyline': '113.954783,22.527157;113.954874,22.528199', 'status': '畅通'}, {'distance': 356, 'polyline': '113.954874,22.528199;113.955074,22.531411', 'status': '拥堵'}, {'distance': 322, 'polyline': '113.955074,22.531411;113.955122,22.531723;113.955169,22.531927;113.955347,22.532422;113.95553,22.532765;113.955647,22.532956;113.956324,22.534058', 'status': '拥堵'}, {'distance': 101, 'polyline': '113.956324,22.534058;113.956784,22.53487;113.956836,22.534957', 'status': '拥堵'}, {'distance': 45, 'polyline': '113.956836,22.534957;113.957062,22.535308', 'status': '畅通'}, {'distance': 298, 'polyline': '113.957062,22.535308;113.957843,22.536562;113.958529,22.537635', 'status': '畅通'}, {'distance': 26, 'polyline': '113.958529,22.537635;113.958663,22.537839', 'status': '畅通'}, {'distance': 185, 'polyline': '113.958663,22.537839;113.958793,22.53806;113.958919,22.538325;113.959054,22.53872;113.959123,22.539036;113.959167,22.539431', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '靠左', 'assistant_action': '沿主路行驶', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 601, 'duration': 139, 'instruction': '沿深南大道向东行驶601米靠左沿主路行驶', 'orientation': '东', 'polyline': '113.959167,22.539431;113.959227,22.539505;113.959266,22.539583;113.959301,22.539887;113.959327,22.539948;113.959414,22.540048;113.95954,22.540104;113.959679,22.540122;113.960178,22.540135;113.960486,22.540139;113.962986,22.540174;113.963351,22.540273;113.963711,22.540256;113.96451,22.540156;113.964701,22.540122', 'road': '深南大道', 'tmcs': [{'distance': 154, 'polyline': '113.959167,22.539431;113.959227,22.539505;113.959266,22.539583;113.959301,22.539887;113.959327,22.539948;113.959414,22.540048;113.95954,22.540104;113.959679,22.540122;113.960178,22.540135', 'status': '畅通'}, {'distance': 32, 'polyline': '113.960178,22.540135;113.960486,22.540139', 'status': '畅通'}, {'distance': 296, 'polyline': '113.960486,22.540139;113.962986,22.540174;113.963351,22.540273', 'status': '畅通'}, {'distance': 36, 'polyline': '113.963351,22.540273;113.963711,22.540256', 'status': '畅通'}, {'distance': 83, 'polyline': '113.963711,22.540256;113.96451,22.540156;113.964701,22.540122', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入辅路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 980, 'duration': 97, 'instruction': '沿深南大道向东行驶980米向右前方行驶进入辅路', 'orientation': '东', 'polyline': '113.964701,22.540122;113.96569,22.5399;113.966159,22.539748;113.96694,22.539453;113.967943,22.539089;113.968216,22.538984;113.970013,22.538325;113.972166,22.537535;113.9724,22.537444;113.973637,22.536984', 'road': '深南大道', 'tmcs': [{'distance': 104, 'polyline': '113.964701,22.540122;113.96569,22.5399', 'status': '畅通'}, {'distance': 51, 'polyline': '113.96569,22.5399;113.966159,22.539748', 'status': '畅通'}, {'distance': 86, 'polyline': '113.966159,22.539748;113.96694,22.539453', 'status': '畅通'}, {'distance': 110, 'polyline': '113.96694,22.539453;113.967943,22.539089', 'status': '畅通'}, {'distance': 30, 'polyline': '113.967943,22.539089;113.968216,22.538984', 'status': '畅通'}, {'distance': 198, 'polyline': '113.968216,22.538984;113.970013,22.538325', 'status': '畅通'}, {'distance': 264, 'polyline': '113.970013,22.538325;113.972166,22.537535;113.9724,22.537444', 'status': '畅通'}, {'distance': 137, 'polyline': '113.9724,22.537444;113.973637,22.536984', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 236, 'duration': 42, 'instruction': '沿深南大道向东行驶236米右转', 'orientation': '东', 'polyline': '113.973637,22.536984;113.973863,22.536801;113.97444,22.536597;113.974909,22.536428;113.975738,22.536115', 'road': '深南大道', 'tmcs': [{'distance': 30, 'polyline': '113.973637,22.536984;113.973863,22.536801', 'status': '畅通'}, {'distance': 63, 'polyline': '113.973863,22.536801;113.97444,22.536597', 'status': '畅通'}, {'distance': 51, 'polyline': '113.97444,22.536597;113.974909,22.536428', 'status': '畅通'}, {'distance': 92, 'polyline': '113.974909,22.536428;113.975738,22.536115', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 124, 'duration': 98, 'instruction': '向西南行驶124米右转', 'orientation': '西南', 'polyline': '113.975738,22.536115;113.975217,22.535408;113.975052,22.535182', 'road': None, 'tmcs': [{'distance': 94, 'polyline': '113.975738,22.536115;113.975217,22.535408', 'status': '未知'}, {'distance': 30, 'polyline': '113.975217,22.535408;113.975052,22.535182', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 143, 'duration': 111, 'instruction': '向西南行驶143米右转', 'orientation': '西南', 'polyline': '113.975052,22.535182;113.974957,22.535226;113.974692,22.535317;113.974488,22.535312;113.974345,22.535273;113.974206,22.535187;113.974167,22.53513;113.974128,22.535022;113.974158,22.534813;113.974188,22.534766', 'road': None, 'tmcs': [{'distance': 40, 'polyline': '113.975052,22.535182;113.974957,22.535226;113.974692,22.535317', 'status': '未知'}, {'distance': 61, 'polyline': '113.974692,22.535317;113.974488,22.535312;113.974345,22.535273;113.974206,22.535187;113.974167,22.53513', 'status': '未知'}, {'distance': 42, 'polyline': '113.974167,22.53513;113.974128,22.535022;113.974158,22.534813;113.974188,22.534766', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 114, 'duration': 90, 'instruction': '向西行驶114米右转', 'orientation': '西', 'polyline': '113.974188,22.534766;113.973989,22.534674;113.97385,22.534609;113.973368,22.534588;113.973099,22.534588', 'road': None, 'tmcs': [{'distance': 22, 'polyline': '113.974188,22.534766;113.973989,22.534674', 'status': '未知'}, {'distance': 65, 'polyline': '113.973989,22.534674;113.97385,22.534609;113.973368,22.534588', 'status': '未知'}, {'distance': 27, 'polyline': '113.973368,22.534588;113.973099,22.534588', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '', 'assistant_action': '到达目的地', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 8, 'duration': 6, 'instruction': '向西北行驶8米到达目的地', 'orientation': '西北', 'polyline': '113.973099,22.534588;113.97306,22.534648', 'road': None, 'tmcs': [{'distance': 8, 'polyline': '113.973099,22.534588;113.97306,22.534648', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}], 'strategy': '避免拥堵', 'toll_distance': 0, 'tolls': 0, 'traffic_lights': 4}, {'distance': 8036, 'duration': 1466, 'restriction': 0, 'steps': [{'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 54, 'duration': 20, 'instruction': '沿海德二道向西行驶54米右转', 'orientation': '西', 'polyline': '113.929154,22.519232;113.928989,22.519271;113.928655,22.519384', 'road': '海德二道', 'tmcs': [{'distance': 18, 'polyline': '113.929154,22.519232;113.928989,22.519271', 'status': '拥堵'}, {'distance': 36, 'polyline': '113.928989,22.519271;113.928655,22.519384', 'status': '拥堵'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入匝道', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 70, 'duration': 15, 'instruction': '沿南海大道向北行驶70米向右前方行驶进入匝道', 'orientation': '北', 'polyline': '113.928655,22.519384;113.928885,22.519978', 'road': '南海大道', 'tmcs': [{'distance': 70, 'polyline': '113.928655,22.519384;113.928885,22.519978', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 213, 'duration': 38, 'instruction': '沿滨海南海立交桥向北行驶213米右转', 'orientation': '北', 'polyline': '113.928885,22.519978;113.929023,22.520087;113.929067,22.520174;113.929154,22.520378;113.929288,22.520747;113.929375,22.521055;113.929492,22.52151;113.92954,22.52178', 'road': '滨海南海立交桥', 'tmcs': [{'distance': 213, 'polyline': '113.928885,22.519978;113.929023,22.520087;113.929067,22.520174;113.929154,22.520378;113.929288,22.520747;113.929375,22.521055;113.929492,22.52151;113.92954,22.52178', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向左前方行驶', 'assistant_action': '进入主路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 546, 'duration': 77, 'instruction': '沿滨海南海立交桥途径滨海大道辅路向东行驶546米向左前方行驶进入主路', 'orientation': '东', 'polyline': '113.92954,22.52178;113.92967,22.521871;113.929835,22.52197;113.9299,22.52201;113.930022,22.522044;113.930291,22.522088;113.930751,22.521988;113.930829,22.52197;113.931467,22.521832;113.931532,22.521814;113.932092,22.521693;113.932921,22.521523;113.933746,22.521424;113.934306,22.521385;113.93477,22.52138', 'road': '滨海南海立交桥', 'tmcs': [{'distance': 86, 'polyline': '113.92954,22.52178;113.92967,22.521871;113.929835,22.52197;113.9299,22.52201;113.930022,22.522044;113.930291,22.522088', 'status': '畅通'}, {'distance': 49, 'polyline': '113.930291,22.522088;113.930751,22.521988', 'status': '畅通'}, {'distance': 75, 'polyline': '113.930751,22.521988;113.930829,22.52197;113.931467,22.521832;113.931532,22.521814', 'status': '畅通'}, {'distance': 59, 'polyline': '113.931532,22.521814;113.932092,22.521693', 'status': '畅通'}, {'distance': 87, 'polyline': '113.932092,22.521693;113.932921,22.521523', 'status': '畅通'}, {'distance': 85, 'polyline': '113.932921,22.521523;113.933746,22.521424', 'status': '畅通'}, {'distance': 57, 'polyline': '113.933746,22.521424;113.934306,22.521385', 'status': '畅通'}, {'distance': 48, 'polyline': '113.934306,22.521385;113.93477,22.52138', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入辅路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 2590, 'duration': 188, 'instruction': '沿滨海大道入口途径滨海大道向东行驶2.6千米向右前方行驶进入辅路', 'orientation': '东', 'polyline': '113.93477,22.52138;113.93536,22.521727;113.936063,22.521476;113.936341,22.521402;113.936615,22.52135;113.938455,22.521272;113.938867,22.521337;113.93911,22.521424;113.940165,22.521628;113.940456,22.521654;113.940725,22.521667;113.94296,22.521606;113.943294,22.521576;113.94365,22.521519;113.944392,22.52138;113.944609,22.521354;113.945104,22.521332;113.945755,22.521354;113.948294,22.521302;113.948945,22.521302;113.950195,22.521241;113.950304,22.521237;113.952153,22.521033;113.956415,22.52056;113.957409,22.520447;113.95967,22.5202', 'road': '滨海大道入口', 'tmcs': [{'distance': 71, 'polyline': '113.93477,22.52138;113.93536,22.521727', 'status': '畅通'}, {'distance': 136, 'polyline': '113.93536,22.521727;113.936063,22.521476;113.936341,22.521402;113.936615,22.52135', 'status': '畅通'}, {'distance': 233, 'polyline': '113.936615,22.52135;113.938455,22.521272;113.938867,22.521337', 'status': '畅通'}, {'distance': 137, 'polyline': '113.938867,22.521337;113.93911,22.521424;113.940165,22.521628', 'status': '畅通'}, {'distance': 437, 'polyline': '113.940165,22.521628;113.940456,22.521654;113.940725,22.521667;113.94296,22.521606;113.943294,22.521576;113.94365,22.521519;113.944392,22.52138', 'status': '畅通'}, {'distance': 72, 'polyline': '113.944392,22.52138;113.944609,22.521354;113.945104,22.521332', 'status': '畅通'}, {'distance': 67, 'polyline': '113.945104,22.521332;113.945755,22.521354', 'status': '畅通'}, {'distance': 260, 'polyline': '113.945755,22.521354;113.948294,22.521302', 'status': '畅通'}, {'distance': 207, 'polyline': '113.948294,22.521302;113.948945,22.521302;113.950195,22.521241;113.950304,22.521237', 'status': '畅通'}, {'distance': 736, 'polyline': '113.950304,22.521237;113.952153,22.521033;113.956415,22.52056;113.957409,22.520447', 'status': '畅通'}, {'distance': 234, 'polyline': '113.957409,22.520447;113.95967,22.5202', 'status': '拥堵'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向左前方行驶', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 328, 'duration': 76, 'instruction': '沿滨海大道出口途径滨海大道辅路向东行驶328米向左前方行驶', 'orientation': '东', 'polyline': '113.95967,22.5202;113.959913,22.520078;113.960998,22.519757;113.96171,22.519692;113.962778,22.519583', 'road': '滨海大道出口', 'tmcs': [{'distance': 145, 'polyline': '113.95967,22.5202;113.959913,22.520078;113.960998,22.519757', 'status': '畅通'}, {'distance': 73, 'polyline': '113.960998,22.519757;113.96171,22.519692', 'status': '缓行'}, {'distance': 110, 'polyline': '113.96171,22.519692;113.962778,22.519583', 'status': '拥堵'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入右转专用道', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 1612, 'duration': 197, 'instruction': '沿滨海沙河东立交桥途径沙河东路向北行驶1.6千米向右前方行驶进入右转专用道', 'orientation': '北', 'polyline': '113.962778,22.519583;113.96316,22.519592;113.964262,22.519501;113.964596,22.519484;113.965139,22.519466;113.965278,22.51947;113.965412,22.519497;113.965543,22.519553;113.965655,22.519627;113.965751,22.519718;113.96582,22.519831;113.965864,22.519952;113.965877,22.520082;113.965864,22.520204;113.96582,22.52033;113.965751,22.520447;113.965664,22.520547;113.965482,22.520751;113.965026,22.521237;113.964479,22.52181;113.96434,22.52197;113.964093,22.522248;113.963954,22.522409;113.963841,22.522609;113.963798,22.522769;113.963793,22.522843;113.963772,22.523659;113.963793,22.524102;113.963837,22.525043;113.963845,22.525182;113.963954,22.526979;113.96401,22.527977;113.964089,22.529345;113.964132,22.53013;113.964171,22.530907', 'road': '滨海沙河东立交桥', 'tmcs': [{'distance': 663, 'polyline': '113.962778,22.519583;113.96316,22.519592;113.964262,22.519501;113.964596,22.519484;113.965139,22.519466;113.965278,22.51947;113.965412,22.519497;113.965543,22.519553;113.965655,22.519627;113.965751,22.519718;113.96582,22.519831;113.965864,22.519952;113.965877,22.520082;113.965864,22.520204;113.96582,22.52033;113.965751,22.520447;113.965664,22.520547;113.965482,22.520751;113.965026,22.521237;113.964479,22.52181;113.96434,22.52197;113.964093,22.522248', 'status': '畅通'}, {'distance': 74, 'polyline': '113.964093,22.522248;113.963954,22.522409;113.963841,22.522609;113.963798,22.522769;113.963793,22.522843', 'status': '畅通'}, {'distance': 138, 'polyline': '113.963793,22.522843;113.963772,22.523659;113.963793,22.524102', 'status': '畅通'}, {'distance': 104, 'polyline': '113.963793,22.524102;113.963837,22.525043;113.963845,22.525182', 'status': '畅通'}, {'distance': 199, 'polyline': '113.963845,22.525182;113.963954,22.526979', 'status': '畅通'}, {'distance': 110, 'polyline': '113.963954,22.526979;113.96401,22.527977', 'status': '畅通'}, {'distance': 152, 'polyline': '113.96401,22.527977;113.964089,22.529345', 'status': '畅通'}, {'distance': 86, 'polyline': '113.964089,22.529345;113.964132,22.53013', 'status': '畅通'}, {'distance': 86, 'polyline': '113.964132,22.53013;113.964171,22.530907', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '左转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 345, 'duration': 138, 'instruction': '沿白石路向东行驶345米左转', 'orientation': '东', 'polyline': '113.964171,22.530907;113.964236,22.53099;113.964253,22.531267;113.964271,22.531315;113.964306,22.531363;113.964397,22.531419;113.964592,22.531454;113.965673,22.531115;113.966701,22.530799;113.967001,22.530699;113.967036,22.530833', 'road': '白石路', 'tmcs': [{'distance': 85, 'polyline': '113.964171,22.530907;113.964236,22.53099;113.964253,22.531267;113.964271,22.531315;113.964306,22.531363;113.964397,22.531419;113.964592,22.531454', 'status': '畅通'}, {'distance': 117, 'polyline': '113.964592,22.531454;113.965673,22.531115', 'status': '畅通'}, {'distance': 111, 'polyline': '113.965673,22.531115;113.966701,22.530799', 'status': '畅通'}, {'distance': 32, 'polyline': '113.966701,22.530799;113.967001,22.530699;113.967036,22.530833', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 916, 'duration': 291, 'instruction': '沿石洲中路向北行驶916米右转', 'orientation': '北', 'polyline': '113.967036,22.530833;113.967005,22.531111;113.967005,22.531141;113.966979,22.531602;113.966966,22.531884;113.966962,22.532092;113.96694,22.532535;113.966914,22.532956;113.966897,22.533134;113.966749,22.535273;113.966845,22.536289;113.966853,22.536571;113.966862,22.536658;113.966866,22.536749;113.966871,22.536944;113.966875,22.537365;113.966884,22.537496;113.966884,22.537561;113.966892,22.538186;113.966897,22.538411;113.96691,22.538854;113.96691,22.53898;113.966914,22.539158;113.966923,22.539358', 'road': '石洲中路', 'tmcs': [{'distance': 30, 'polyline': '113.967036,22.530833;113.967005,22.531111;113.967005,22.531141', 'status': '缓行'}, {'distance': 50, 'polyline': '113.967005,22.531141;113.966979,22.531602', 'status': '缓行'}, {'distance': 31, 'polyline': '113.966979,22.531602;113.966966,22.531884', 'status': '缓行'}, {'distance': 23, 'polyline': '113.966966,22.531884;113.966962,22.532092', 'status': '缓行'}, {'distance': 48, 'polyline': '113.966962,22.532092;113.96694,22.532535', 'status': '缓行'}, {'distance': 66, 'polyline': '113.96694,22.532535;113.966914,22.532956;113.966897,22.533134', 'status': '缓行'}, {'distance': 237, 'polyline': '113.966897,22.533134;113.966749,22.535273', 'status': '缓行'}, {'distance': 112, 'polyline': '113.966749,22.535273;113.966845,22.536289', 'status': '缓行'}, {'distance': 31, 'polyline': '113.966845,22.536289;113.966853,22.536571', 'status': '缓行'}, {'distance': 9, 'polyline': '113.966853,22.536571;113.966862,22.536658', 'status': '缓行'}, {'distance': 10, 'polyline': '113.966862,22.536658;113.966866,22.536749', 'status': '缓行'}, {'distance': 21, 'polyline': '113.966866,22.536749;113.966871,22.536944', 'status': '缓行'}, {'distance': 46, 'polyline': '113.966871,22.536944;113.966875,22.537365', 'status': '缓行'}, {'distance': 14, 'polyline': '113.966875,22.537365;113.966884,22.537496', 'status': '缓行'}, {'distance': 7, 'polyline': '113.966884,22.537496;113.966884,22.537561', 'status': '缓行'}, {'distance': 69, 'polyline': '113.966884,22.537561;113.966892,22.538186', 'status': '缓行'}, {'distance': 24, 'polyline': '113.966892,22.538186;113.966897,22.538411', 'status': '缓行'}, {'distance': 48, 'polyline': '113.966897,22.538411;113.96691,22.538854;113.96691,22.53898', 'status': '缓行'}, {'distance': 19, 'polyline': '113.96691,22.53898;113.966914,22.539158', 'status': '缓行'}, {'distance': 21, 'polyline': '113.966914,22.539158;113.966923,22.539358', 'status': '缓行'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向左前方行驶', 'assistant_action': '进入主路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 75, 'duration': 16, 'instruction': '沿深南大道向东行驶75米向左前方行驶进入主路', 'orientation': '东', 'polyline': '113.966923,22.539358;113.967491,22.539154;113.967613,22.539106', 'road': '深南大道', 'tmcs': [{'distance': 62, 'polyline': '113.966923,22.539358;113.967491,22.539154', 'status': '畅通'}, {'distance': 13, 'polyline': '113.967491,22.539154;113.967613,22.539106', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入辅路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 662, 'duration': 63, 'instruction': '沿深南大道向东行驶662米向右前方行驶进入辅路', 'orientation': '东', 'polyline': '113.967613,22.539106;113.967943,22.539089;113.968216,22.538984;113.970013,22.538325;113.972166,22.537535;113.9724,22.537444;113.973637,22.536984', 'road': '深南大道', 'tmcs': [{'distance': 33, 'polyline': '113.967613,22.539106;113.967943,22.539089', 'status': '畅通'}, {'distance': 30, 'polyline': '113.967943,22.539089;113.968216,22.538984', 'status': '畅通'}, {'distance': 198, 'polyline': '113.968216,22.538984;113.970013,22.538325', 'status': '畅通'}, {'distance': 264, 'polyline': '113.970013,22.538325;113.972166,22.537535;113.9724,22.537444', 'status': '畅通'}, {'distance': 137, 'polyline': '113.9724,22.537444;113.973637,22.536984', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 236, 'duration': 42, 'instruction': '沿深南大道向东行驶236米右转', 'orientation': '东', 'polyline': '113.973637,22.536984;113.973863,22.536801;113.97444,22.536597;113.974909,22.536428;113.975738,22.536115', 'road': '深南大道', 'tmcs': [{'distance': 30, 'polyline': '113.973637,22.536984;113.973863,22.536801', 'status': '畅通'}, {'distance': 63, 'polyline': '113.973863,22.536801;113.97444,22.536597', 'status': '畅通'}, {'distance': 51, 'polyline': '113.97444,22.536597;113.974909,22.536428', 'status': '畅通'}, {'distance': 92, 'polyline': '113.974909,22.536428;113.975738,22.536115', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 124, 'duration': 98, 'instruction': '向西南行驶124米右转', 'orientation': '西南', 'polyline': '113.975738,22.536115;113.975217,22.535408;113.975052,22.535182', 'road': None, 'tmcs': [{'distance': 94, 'polyline': '113.975738,22.536115;113.975217,22.535408', 'status': '未知'}, {'distance': 30, 'polyline': '113.975217,22.535408;113.975052,22.535182', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 143, 'duration': 111, 'instruction': '向西南行驶143米右转', 'orientation': '西南', 'polyline': '113.975052,22.535182;113.974957,22.535226;113.974692,22.535317;113.974488,22.535312;113.974345,22.535273;113.974206,22.535187;113.974167,22.53513;113.974128,22.535022;113.974158,22.534813;113.974188,22.534766', 'road': None, 'tmcs': [{'distance': 40, 'polyline': '113.975052,22.535182;113.974957,22.535226;113.974692,22.535317', 'status': '未知'}, {'distance': 61, 'polyline': '113.974692,22.535317;113.974488,22.535312;113.974345,22.535273;113.974206,22.535187;113.974167,22.53513', 'status': '未知'}, {'distance': 42, 'polyline': '113.974167,22.53513;113.974128,22.535022;113.974158,22.534813;113.974188,22.534766', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 114, 'duration': 90, 'instruction': '向西行驶114米右转', 'orientation': '西', 'polyline': '113.974188,22.534766;113.973989,22.534674;113.97385,22.534609;113.973368,22.534588;113.973099,22.534588', 'road': None, 'tmcs': [{'distance': 22, 'polyline': '113.974188,22.534766;113.973989,22.534674', 'status': '未知'}, {'distance': 65, 'polyline': '113.973989,22.534674;113.97385,22.534609;113.973368,22.534588', 'status': '未知'}, {'distance': 27, 'polyline': '113.973368,22.534588;113.973099,22.534588', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '', 'assistant_action': '到达目的地', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 8, 'duration': 6, 'instruction': '向西北行驶8米到达目的地', 'orientation': '西北', 'polyline': '113.973099,22.534588;113.97306,22.534648', 'road': None, 'tmcs': [{'distance': 8, 'polyline': '113.973099,22.534588;113.97306,22.534648', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}], 'strategy': '避免拥堵', 'toll_distance': 0, 'tolls': 0, 'traffic_lights': 6}, {'distance': 8076, 'duration': 1976, 'restriction': 0, 'steps': [{'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 54, 'duration': 19, 'instruction': '沿海德二道向西行驶54米右转', 'orientation': '西', 'polyline': '113.929154,22.519232;113.928989,22.519271;113.928655,22.519384', 'road': '海德二道', 'tmcs': [{'distance': 18, 'polyline': '113.929154,22.519232;113.928989,22.519271', 'status': '拥堵'}, {'distance': 36, 'polyline': '113.928989,22.519271;113.928655,22.519384', 'status': '拥堵'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入匝道', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 70, 'duration': 14, 'instruction': '沿南海大道向北行驶70米向右前方行驶进入匝道', 'orientation': '北', 'polyline': '113.928655,22.519384;113.928885,22.519978', 'road': '南海大道', 'tmcs': [{'distance': 70, 'polyline': '113.928655,22.519384;113.928885,22.519978', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 213, 'duration': 38, 'instruction': '沿滨海南海立交桥向北行驶213米右转', 'orientation': '北', 'polyline': '113.928885,22.519978;113.929023,22.520087;113.929067,22.520174;113.929154,22.520378;113.929288,22.520747;113.929375,22.521055;113.929492,22.52151;113.92954,22.52178', 'road': '滨海南海立交桥', 'tmcs': [{'distance': 213, 'polyline': '113.928885,22.519978;113.929023,22.520087;113.929067,22.520174;113.929154,22.520378;113.929288,22.520747;113.929375,22.521055;113.929492,22.52151;113.92954,22.52178', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '靠右', 'assistant_action': '进入匝道', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 1552, 'duration': 164, 'instruction': '沿滨海南海立交桥途径滨海大道辅路向东行驶1.6千米靠右进入匝道', 'orientation': '东', 'polyline': '113.92954,22.52178;113.92967,22.521871;113.929835,22.52197;113.9299,22.52201;113.930022,22.522044;113.930291,22.522088;113.930751,22.521988;113.930829,22.52197;113.931467,22.521832;113.931532,22.521814;113.932092,22.521693;113.932921,22.521523;113.933746,22.521424;113.934306,22.521385;113.93477,22.52138;113.936845,22.52128;113.937613,22.52122;113.937682,22.521215;113.938112,22.521194;113.93924,22.521176;113.940603,22.521159;113.942925,22.521111;113.943086,22.521063;113.944635,22.521059', 'road': '滨海南海立交桥', 'tmcs': [{'distance': 86, 'polyline': '113.92954,22.52178;113.92967,22.521871;113.929835,22.52197;113.9299,22.52201;113.930022,22.522044;113.930291,22.522088', 'status': '畅通'}, {'distance': 49, 'polyline': '113.930291,22.522088;113.930751,22.521988', 'status': '畅通'}, {'distance': 75, 'polyline': '113.930751,22.521988;113.930829,22.52197;113.931467,22.521832;113.931532,22.521814', 'status': '畅通'}, {'distance': 59, 'polyline': '113.931532,22.521814;113.932092,22.521693', 'status': '畅通'}, {'distance': 87, 'polyline': '113.932092,22.521693;113.932921,22.521523', 'status': '畅通'}, {'distance': 85, 'polyline': '113.932921,22.521523;113.933746,22.521424', 'status': '畅通'}, {'distance': 57, 'polyline': '113.933746,22.521424;113.934306,22.521385', 'status': '畅通'}, {'distance': 48, 'polyline': '113.934306,22.521385;113.93477,22.52138', 'status': '畅通'}, {'distance': 292, 'polyline': '113.93477,22.52138;113.936845,22.52128;113.937613,22.52122;113.937682,22.521215', 'status': '畅通'}, {'distance': 159, 'polyline': '113.937682,22.521215;113.938112,22.521194;113.93924,22.521176', 'status': '畅通'}, {'distance': 140, 'polyline': '113.93924,22.521176;113.940603,22.521159', 'status': '畅通'}, {'distance': 256, 'polyline': '113.940603,22.521159;113.942925,22.521111;113.943086,22.521063', 'status': '畅通'}, {'distance': 159, 'polyline': '113.943086,22.521063;113.944635,22.521059', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '左转调头', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 386, 'duration': 93, 'instruction': '沿滨海科苑立交途径科苑南路向南行驶386米左转调头', 'orientation': '南', 'polyline': '113.944635,22.521059;113.944796,22.520998;113.945278,22.520968;113.945412,22.520951;113.945543,22.520907;113.945608,22.520872;113.945673,22.520807;113.945703,22.520747;113.945725,22.520677;113.945764,22.519427;113.945742,22.518767;113.945777,22.518711;113.94572,22.518429;113.945703,22.518351', 'road': '滨海科苑立交', 'tmcs': [{'distance': 128, 'polyline': '113.944635,22.521059;113.944796,22.520998;113.945278,22.520968;113.945412,22.520951;113.945543,22.520907;113.945608,22.520872;113.945673,22.520807;113.945703,22.520747;113.945725,22.520677', 'status': '畅通'}, {'distance': 138, 'polyline': '113.945725,22.520677;113.945764,22.519427', 'status': '缓行'}, {'distance': 80, 'polyline': '113.945764,22.519427;113.945742,22.518767;113.945777,22.518711', 'status': '缓行'}, {'distance': 31, 'polyline': '113.945777,22.518711;113.94572,22.518429', 'status': '拥堵'}, {'distance': 9, 'polyline': '113.94572,22.518429;113.945703,22.518351', 'status': '拥堵'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '直行', 'assistant_action': '沿主路行驶', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 56, 'duration': 4, 'instruction': '沿科苑南路向东北行驶56米直行沿主路行驶', 'orientation': '东北', 'polyline': '113.945703,22.518351;113.945842,22.518316;113.945864,22.518394;113.945916,22.518694', 'road': '科苑南路', 'tmcs': [{'distance': 15, 'polyline': '113.945703,22.518351;113.945842,22.518316', 'status': '畅通'}, {'distance': 8, 'polyline': '113.945842,22.518316;113.945864,22.518394', 'status': '畅通'}, {'distance': 33, 'polyline': '113.945864,22.518394;113.945916,22.518694', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入匝道', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 2174, 'duration': 587, 'instruction': '沿科苑南路途径科苑北路向北行驶2.2千米向右前方行驶进入匝道', 'orientation': '北', 'polyline': '113.945916,22.518694;113.945907,22.518785;113.945937,22.51954;113.945916,22.520781;113.945894,22.52197;113.945894,22.52197;113.945864,22.524032;113.945855,22.524293;113.945868,22.524349;113.945859,22.524674;113.945846,22.52572;113.945842,22.526523;113.945842,22.526927;113.945842,22.527018;113.945846,22.527339;113.945825,22.528859;113.945803,22.529457;113.945799,22.529527;113.945786,22.529831;113.945742,22.531549;113.945725,22.53227;113.94572,22.53263;113.94572,22.532747;113.94572,22.532956;113.945707,22.533811;113.945707,22.533854;113.945677,22.53546;113.945673,22.535864;113.94566,22.536224;113.945664,22.536302;113.945655,22.536628;113.945612,22.53849;113.945612,22.538563;113.945608,22.538932', 'road': '科苑南路', 'tmcs': [{'distance': 231, 'polyline': '113.945916,22.518694;113.945907,22.518785;113.945937,22.51954;113.945916,22.520781', 'status': '畅通'}, {'distance': 131, 'polyline': '113.945916,22.520781;113.945894,22.52197;113.945894,22.52197', 'status': '畅通'}, {'distance': 228, 'polyline': '113.945894,22.52197;113.945864,22.524032', 'status': '畅通'}, {'distance': 28, 'polyline': '113.945864,22.524032;113.945855,22.524293;113.945868,22.524349', 'status': '畅通'}, {'distance': 36, 'polyline': '113.945868,22.524349;113.945859,22.524674', 'status': '畅通'}, {'distance': 115, 'polyline': '113.945859,22.524674;113.945846,22.52572', 'status': '畅通'}, {'distance': 89, 'polyline': '113.945846,22.52572;113.945842,22.526523', 'status': '畅通'}, {'distance': 44, 'polyline': '113.945842,22.526523;113.945842,22.526927;113.945842,22.527018', 'status': '畅通'}, {'distance': 35, 'polyline': '113.945842,22.527018;113.945846,22.527339', 'status': '畅通'}, {'distance': 168, 'polyline': '113.945846,22.527339;113.945825,22.528859', 'status': '缓行'}, {'distance': 66, 'polyline': '113.945825,22.528859;113.945803,22.529457;113.945799,22.529527', 'status': '缓行'}, {'distance': 33, 'polyline': '113.945799,22.529527;113.945786,22.529831', 'status': '缓行'}, {'distance': 191, 'polyline': '113.945786,22.529831;113.945742,22.531549', 'status': '畅通'}, {'distance': 79, 'polyline': '113.945742,22.531549;113.945725,22.53227', 'status': '畅通'}, {'distance': 39, 'polyline': '113.945725,22.53227;113.94572,22.53263;113.94572,22.532747', 'status': '畅通'}, {'distance': 117, 'polyline': '113.94572,22.532747;113.94572,22.532956;113.945707,22.533811;113.945707,22.533854', 'status': '畅通'}, {'distance': 178, 'polyline': '113.945707,22.533854;113.945677,22.53546', 'status': '畅通'}, {'distance': 44, 'polyline': '113.945677,22.53546;113.945673,22.535864', 'status': '畅通'}, {'distance': 40, 'polyline': '113.945673,22.535864;113.94566,22.536224;113.945664,22.536302', 'status': '畅通'}, {'distance': 35, 'polyline': '113.945664,22.536302;113.945655,22.536628', 'status': '畅通'}, {'distance': 206, 'polyline': '113.945655,22.536628;113.945612,22.53849;113.945612,22.538563', 'status': '畅通'}, {'distance': 41, 'polyline': '113.945612,22.538563;113.945608,22.538932', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向左前方行驶', 'assistant_action': '进入主路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 341, 'duration': 48, 'instruction': '沿深南科苑立交途径深南大道向东行驶341米向左前方行驶进入主路', 'orientation': '东', 'polyline': '113.945608,22.538932;113.945664,22.539089;113.945699,22.53918;113.94572,22.539227;113.94579,22.53931;113.94589,22.539379;113.945946,22.539405;113.946016,22.539431;113.946085,22.539444;113.946675,22.539475;113.946793,22.539492;113.946914,22.539518;113.947135,22.539583;113.947218,22.539614;113.947361,22.539696;113.948234,22.539727;113.948585,22.539753', 'road': '深南科苑立交', 'tmcs': [{'distance': 216, 'polyline': '113.945608,22.538932;113.945664,22.539089;113.945699,22.53918;113.94572,22.539227;113.94579,22.53931;113.94589,22.539379;113.945946,22.539405;113.946016,22.539431;113.946085,22.539444;113.946675,22.539475;113.946793,22.539492;113.946914,22.539518;113.947135,22.539583;113.947218,22.539614;113.947361,22.539696', 'status': '畅通'}, {'distance': 90, 'polyline': '113.947361,22.539696;113.948234,22.539727', 'status': '畅通'}, {'distance': 35, 'polyline': '113.948234,22.539727;113.948585,22.539753', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '靠左', 'assistant_action': '沿主路行驶', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 799, 'duration': 364, 'instruction': '沿深南大道向东行驶799米靠左沿主路行驶', 'orientation': '东', 'polyline': '113.948585,22.539753;113.948958,22.539883;113.949345,22.5399;113.950195,22.539939;113.950434,22.539952;113.950994,22.539974;113.95201,22.540017;113.952734,22.54003;113.953333,22.540043;113.953911,22.540074;113.954015,22.540074;113.95444,22.540095;113.954957,22.540109;113.955438,22.540122;113.955933,22.540139;113.956471,22.540152', 'road': '深南大道', 'tmcs': [{'distance': 41, 'polyline': '113.948585,22.539753;113.948958,22.539883', 'status': '畅通'}, {'distance': 209, 'polyline': '113.948958,22.539883;113.949345,22.5399;113.950195,22.539939;113.950434,22.539952;113.950994,22.539974', 'status': '畅通'}, {'distance': 104, 'polyline': '113.950994,22.539974;113.95201,22.540017', 'status': '拥堵'}, {'distance': 74, 'polyline': '113.95201,22.540017;113.952734,22.54003', 'status': '拥堵'}, {'distance': 61, 'polyline': '113.952734,22.54003;113.953333,22.540043', 'status': '拥堵'}, {'distance': 59, 'polyline': '113.953333,22.540043;113.953911,22.540074;113.954015,22.540074', 'status': '拥堵'}, {'distance': 44, 'polyline': '113.954015,22.540074;113.95444,22.540095', 'status': '畅通'}, {'distance': 53, 'polyline': '113.95444,22.540095;113.954957,22.540109', 'status': '畅通'}, {'distance': 49, 'polyline': '113.954957,22.540109;113.955438,22.540122', 'status': '畅通'}, {'distance': 50, 'polyline': '113.955438,22.540122;113.955933,22.540139', 'status': '畅通'}, {'distance': 55, 'polyline': '113.955933,22.540139;113.956471,22.540152', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '靠左', 'assistant_action': '沿主路行驶', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 826, 'duration': 199, 'instruction': '沿深南大道途径沙河大桥向东行驶826米靠左沿主路行驶', 'orientation': '东', 'polyline': '113.956471,22.540152;113.957739,22.540195;113.958112,22.540204;113.958481,22.540208;113.961024,22.540256;113.961615,22.540265;113.962665,22.540286;113.963351,22.540273;113.963711,22.540256;113.96451,22.540156;113.964701,22.540122', 'road': '深南大道', 'tmcs': [{'distance': 131, 'polyline': '113.956471,22.540152;113.957739,22.540195', 'status': '畅通'}, {'distance': 75, 'polyline': '113.957739,22.540195;113.958112,22.540204;113.958481,22.540208', 'status': '畅通'}, {'distance': 322, 'polyline': '113.958481,22.540208;113.961024,22.540256;113.961615,22.540265', 'status': '畅通'}, {'distance': 179, 'polyline': '113.961615,22.540265;113.962665,22.540286;113.963351,22.540273', 'status': '畅通'}, {'distance': 36, 'polyline': '113.963351,22.540273;113.963711,22.540256', 'status': '畅通'}, {'distance': 83, 'polyline': '113.963711,22.540256;113.96451,22.540156;113.964701,22.540122', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '向右前方行驶', 'assistant_action': '进入辅路', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 980, 'duration': 97, 'instruction': '沿深南大道向东行驶980米向右前方行驶进入辅路', 'orientation': '东', 'polyline': '113.964701,22.540122;113.96569,22.5399;113.966159,22.539748;113.96694,22.539453;113.967943,22.539089;113.968216,22.538984;113.970013,22.538325;113.972166,22.537535;113.9724,22.537444;113.973637,22.536984', 'road': '深南大道', 'tmcs': [{'distance': 104, 'polyline': '113.964701,22.540122;113.96569,22.5399', 'status': '畅通'}, {'distance': 51, 'polyline': '113.96569,22.5399;113.966159,22.539748', 'status': '畅通'}, {'distance': 86, 'polyline': '113.966159,22.539748;113.96694,22.539453', 'status': '畅通'}, {'distance': 110, 'polyline': '113.96694,22.539453;113.967943,22.539089', 'status': '畅通'}, {'distance': 30, 'polyline': '113.967943,22.539089;113.968216,22.538984', 'status': '畅通'}, {'distance': 198, 'polyline': '113.968216,22.538984;113.970013,22.538325', 'status': '畅通'}, {'distance': 264, 'polyline': '113.970013,22.538325;113.972166,22.537535;113.9724,22.537444', 'status': '畅通'}, {'distance': 137, 'polyline': '113.9724,22.537444;113.973637,22.536984', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 236, 'duration': 48, 'instruction': '沿深南大道向东行驶236米右转', 'orientation': '东', 'polyline': '113.973637,22.536984;113.973863,22.536801;113.97444,22.536597;113.974909,22.536428;113.975738,22.536115', 'road': '深南大道', 'tmcs': [{'distance': 30, 'polyline': '113.973637,22.536984;113.973863,22.536801', 'status': '畅通'}, {'distance': 63, 'polyline': '113.973863,22.536801;113.97444,22.536597', 'status': '畅通'}, {'distance': 51, 'polyline': '113.97444,22.536597;113.974909,22.536428', 'status': '畅通'}, {'distance': 92, 'polyline': '113.974909,22.536428;113.975738,22.536115', 'status': '畅通'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 124, 'duration': 96, 'instruction': '向西南行驶124米右转', 'orientation': '西南', 'polyline': '113.975738,22.536115;113.975217,22.535408;113.975052,22.535182', 'road': None, 'tmcs': [{'distance': 94, 'polyline': '113.975738,22.536115;113.975217,22.535408', 'status': '未知'}, {'distance': 30, 'polyline': '113.975217,22.535408;113.975052,22.535182', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 143, 'duration': 110, 'instruction': '向西南行驶143米右转', 'orientation': '西南', 'polyline': '113.975052,22.535182;113.974957,22.535226;113.974692,22.535317;113.974488,22.535312;113.974345,22.535273;113.974206,22.535187;113.974167,22.53513;113.974128,22.535022;113.974158,22.534813;113.974188,22.534766', 'road': None, 'tmcs': [{'distance': 40, 'polyline': '113.975052,22.535182;113.974957,22.535226;113.974692,22.535317', 'status': '未知'}, {'distance': 61, 'polyline': '113.974692,22.535317;113.974488,22.535312;113.974345,22.535273;113.974206,22.535187;113.974167,22.53513', 'status': '未知'}, {'distance': 42, 'polyline': '113.974167,22.53513;113.974128,22.535022;113.974158,22.534813;113.974188,22.534766', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '右转', 'assistant_action': '', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}, {'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 114, 'duration': 89, 'instruction': '向西行驶114米右转', 'orientation': '西', 'polyline': '113.974188,22.534766;113.973989,22.534674;113.97385,22.534609;113.973368,22.534588;113.973099,22.534588', 'road': None, 'tmcs': [{'distance': 22, 'polyline': '113.974188,22.534766;113.973989,22.534674', 'status': '未知'}, {'distance': 65, 'polyline': '113.973989,22.534674;113.97385,22.534609;113.973368,22.534588', 'status': '未知'}, {'distance': 27, 'polyline': '113.973368,22.534588;113.973099,22.534588', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}, {'action': '', 'assistant_action': '到达目的地', 'cities': [{'adcode': '440305', 'citycode': None, 'districts': [], 'name': None}], 'distance': 8, 'duration': 6, 'instruction': '向西北行驶8米到达目的地', 'orientation': '西北', 'polyline': '113.973099,22.534588;113.97306,22.534648', 'road': None, 'tmcs': [{'distance': 8, 'polyline': '113.973099,22.534588;113.97306,22.534648', 'status': '未知'}], 'toll_distance': 0, 'toll_road': '', 'tolls': 0}], 'strategy': '避免拥堵', 'toll_distance': 0, 'tolls': 0, 'traffic_lights': 9}]}, 'count': 3}, 'errcode': 0, 'errdetail': None, 'errmsg': 'OK', 'ext': None}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>action</th>\n",
       "      <th>assistant_action</th>\n",
       "      <th>cities</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "      <th>instruction</th>\n",
       "      <th>orientation</th>\n",
       "      <th>polyline</th>\n",
       "      <th>road</th>\n",
       "      <th>tmcs</th>\n",
       "      <th>toll_distance</th>\n",
       "      <th>toll_road</th>\n",
       "      <th>tolls</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>沿海德二道向西行驶54米右转</td>\n",
       "      <td>西</td>\n",
       "      <td>113.929154,22.519232;113.928989,22.519271;113....</td>\n",
       "      <td>海德二道</td>\n",
       "      <td>[{'distance': 18, 'polyline': '113.929154,22.5...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td>进入匝道</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>70</td>\n",
       "      <td>15</td>\n",
       "      <td>沿南海大道向北行驶70米向右前方行驶进入匝道</td>\n",
       "      <td>北</td>\n",
       "      <td>113.928655,22.519384;113.928885,22.519978</td>\n",
       "      <td>南海大道</td>\n",
       "      <td>[{'distance': 70, 'polyline': '113.928655,22.5...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>213</td>\n",
       "      <td>38</td>\n",
       "      <td>沿滨海南海立交桥向北行驶213米右转</td>\n",
       "      <td>北</td>\n",
       "      <td>113.928885,22.519978;113.929023,22.520087;113....</td>\n",
       "      <td>滨海南海立交桥</td>\n",
       "      <td>[{'distance': 213, 'polyline': '113.928885,22....</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>向左前方行驶</td>\n",
       "      <td>进入主路</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>546</td>\n",
       "      <td>77</td>\n",
       "      <td>沿滨海南海立交桥途径滨海大道辅路向东行驶546米向左前方行驶进入主路</td>\n",
       "      <td>东</td>\n",
       "      <td>113.92954,22.52178;113.92967,22.521871;113.929...</td>\n",
       "      <td>滨海南海立交桥</td>\n",
       "      <td>[{'distance': 86, 'polyline': '113.92954,22.52...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td>进入辅路</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>1413</td>\n",
       "      <td>100</td>\n",
       "      <td>沿滨海大道入口途径滨海大道向东行驶1.4千米向右前方行驶进入辅路</td>\n",
       "      <td>东</td>\n",
       "      <td>113.93477,22.52138;113.93536,22.521727;113.936...</td>\n",
       "      <td>滨海大道入口</td>\n",
       "      <td>[{'distance': 71, 'polyline': '113.93477,22.52...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>靠右</td>\n",
       "      <td>进入匝道</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>301</td>\n",
       "      <td>28</td>\n",
       "      <td>沿滨海大道出口途径滨海大道辅路向东行驶301米靠右进入匝道</td>\n",
       "      <td>东</td>\n",
       "      <td>113.948294,22.521302;113.949661,22.520972;113....</td>\n",
       "      <td>滨海大道出口</td>\n",
       "      <td>[{'distance': 145, 'polyline': '113.948294,22....</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>靠左</td>\n",
       "      <td></td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>240</td>\n",
       "      <td>14</td>\n",
       "      <td>沿滨海沙河西立交向东南行驶240米靠左</td>\n",
       "      <td>东南</td>\n",
       "      <td>113.951181,22.520825;113.95138,22.52076;113.95...</td>\n",
       "      <td>滨海沙河西立交</td>\n",
       "      <td>[{'distance': 240, 'polyline': '113.951181,22....</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td>进入辅路</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>2393</td>\n",
       "      <td>541</td>\n",
       "      <td>沿滨海沙河西立交途径沙河西路向北行驶2.4千米向右前方行驶进入辅路</td>\n",
       "      <td>北</td>\n",
       "      <td>113.952721,22.519375;113.952891,22.519319;113....</td>\n",
       "      <td>滨海沙河西立交</td>\n",
       "      <td>[{'distance': 34, 'polyline': '113.952721,22.5...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>靠左</td>\n",
       "      <td>沿主路行驶</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>601</td>\n",
       "      <td>139</td>\n",
       "      <td>沿深南大道向东行驶601米靠左沿主路行驶</td>\n",
       "      <td>东</td>\n",
       "      <td>113.959167,22.539431;113.959227,22.539505;113....</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>[{'distance': 154, 'polyline': '113.959167,22....</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>向右前方行驶</td>\n",
       "      <td>进入辅路</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>980</td>\n",
       "      <td>97</td>\n",
       "      <td>沿深南大道向东行驶980米向右前方行驶进入辅路</td>\n",
       "      <td>东</td>\n",
       "      <td>113.964701,22.540122;113.96569,22.5399;113.966...</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>[{'distance': 104, 'polyline': '113.964701,22....</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>236</td>\n",
       "      <td>42</td>\n",
       "      <td>沿深南大道向东行驶236米右转</td>\n",
       "      <td>东</td>\n",
       "      <td>113.973637,22.536984;113.973863,22.536801;113....</td>\n",
       "      <td>深南大道</td>\n",
       "      <td>[{'distance': 30, 'polyline': '113.973637,22.5...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>124</td>\n",
       "      <td>98</td>\n",
       "      <td>向西南行驶124米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.975738,22.536115;113.975217,22.535408;113....</td>\n",
       "      <td>None</td>\n",
       "      <td>[{'distance': 94, 'polyline': '113.975738,22.5...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>143</td>\n",
       "      <td>111</td>\n",
       "      <td>向西南行驶143米右转</td>\n",
       "      <td>西南</td>\n",
       "      <td>113.975052,22.535182;113.974957,22.535226;113....</td>\n",
       "      <td>None</td>\n",
       "      <td>[{'distance': 40, 'polyline': '113.975052,22.5...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>右转</td>\n",
       "      <td></td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>114</td>\n",
       "      <td>90</td>\n",
       "      <td>向西行驶114米右转</td>\n",
       "      <td>西</td>\n",
       "      <td>113.974188,22.534766;113.973989,22.534674;113....</td>\n",
       "      <td>None</td>\n",
       "      <td>[{'distance': 22, 'polyline': '113.974188,22.5...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td></td>\n",
       "      <td>到达目的地</td>\n",
       "      <td>[{'adcode': '440305', 'citycode': None, 'distr...</td>\n",
       "      <td>8</td>\n",
       "      <td>6</td>\n",
       "      <td>向西北行驶8米到达目的地</td>\n",
       "      <td>西北</td>\n",
       "      <td>113.973099,22.534588;113.97306,22.534648</td>\n",
       "      <td>None</td>\n",
       "      <td>[{'distance': 8, 'polyline': '113.973099,22.53...</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    action assistant_action  \\\n",
       "0       右转                    \n",
       "1   向右前方行驶             进入匝道   \n",
       "2       右转                    \n",
       "3   向左前方行驶             进入主路   \n",
       "4   向右前方行驶             进入辅路   \n",
       "5       靠右             进入匝道   \n",
       "6       靠左                    \n",
       "7   向右前方行驶             进入辅路   \n",
       "8       靠左            沿主路行驶   \n",
       "9   向右前方行驶             进入辅路   \n",
       "10      右转                    \n",
       "11      右转                    \n",
       "12      右转                    \n",
       "13      右转                    \n",
       "14                    到达目的地   \n",
       "\n",
       "                                               cities  distance  duration  \\\n",
       "0   [{'adcode': '440305', 'citycode': None, 'distr...        54        20   \n",
       "1   [{'adcode': '440305', 'citycode': None, 'distr...        70        15   \n",
       "2   [{'adcode': '440305', 'citycode': None, 'distr...       213        38   \n",
       "3   [{'adcode': '440305', 'citycode': None, 'distr...       546        77   \n",
       "4   [{'adcode': '440305', 'citycode': None, 'distr...      1413       100   \n",
       "5   [{'adcode': '440305', 'citycode': None, 'distr...       301        28   \n",
       "6   [{'adcode': '440305', 'citycode': None, 'distr...       240        14   \n",
       "7   [{'adcode': '440305', 'citycode': None, 'distr...      2393       541   \n",
       "8   [{'adcode': '440305', 'citycode': None, 'distr...       601       139   \n",
       "9   [{'adcode': '440305', 'citycode': None, 'distr...       980        97   \n",
       "10  [{'adcode': '440305', 'citycode': None, 'distr...       236        42   \n",
       "11  [{'adcode': '440305', 'citycode': None, 'distr...       124        98   \n",
       "12  [{'adcode': '440305', 'citycode': None, 'distr...       143       111   \n",
       "13  [{'adcode': '440305', 'citycode': None, 'distr...       114        90   \n",
       "14  [{'adcode': '440305', 'citycode': None, 'distr...         8         6   \n",
       "\n",
       "                           instruction orientation  \\\n",
       "0                       沿海德二道向西行驶54米右转           西   \n",
       "1               沿南海大道向北行驶70米向右前方行驶进入匝道           北   \n",
       "2                   沿滨海南海立交桥向北行驶213米右转           北   \n",
       "3   沿滨海南海立交桥途径滨海大道辅路向东行驶546米向左前方行驶进入主路           东   \n",
       "4     沿滨海大道入口途径滨海大道向东行驶1.4千米向右前方行驶进入辅路           东   \n",
       "5        沿滨海大道出口途径滨海大道辅路向东行驶301米靠右进入匝道           东   \n",
       "6                  沿滨海沙河西立交向东南行驶240米靠左          东南   \n",
       "7    沿滨海沙河西立交途径沙河西路向北行驶2.4千米向右前方行驶进入辅路           北   \n",
       "8                 沿深南大道向东行驶601米靠左沿主路行驶           东   \n",
       "9              沿深南大道向东行驶980米向右前方行驶进入辅路           东   \n",
       "10                     沿深南大道向东行驶236米右转           东   \n",
       "11                         向西南行驶124米右转          西南   \n",
       "12                         向西南行驶143米右转          西南   \n",
       "13                          向西行驶114米右转           西   \n",
       "14                        向西北行驶8米到达目的地          西北   \n",
       "\n",
       "                                             polyline     road  \\\n",
       "0   113.929154,22.519232;113.928989,22.519271;113....     海德二道   \n",
       "1           113.928655,22.519384;113.928885,22.519978     南海大道   \n",
       "2   113.928885,22.519978;113.929023,22.520087;113....  滨海南海立交桥   \n",
       "3   113.92954,22.52178;113.92967,22.521871;113.929...  滨海南海立交桥   \n",
       "4   113.93477,22.52138;113.93536,22.521727;113.936...   滨海大道入口   \n",
       "5   113.948294,22.521302;113.949661,22.520972;113....   滨海大道出口   \n",
       "6   113.951181,22.520825;113.95138,22.52076;113.95...  滨海沙河西立交   \n",
       "7   113.952721,22.519375;113.952891,22.519319;113....  滨海沙河西立交   \n",
       "8   113.959167,22.539431;113.959227,22.539505;113....     深南大道   \n",
       "9   113.964701,22.540122;113.96569,22.5399;113.966...     深南大道   \n",
       "10  113.973637,22.536984;113.973863,22.536801;113....     深南大道   \n",
       "11  113.975738,22.536115;113.975217,22.535408;113....     None   \n",
       "12  113.975052,22.535182;113.974957,22.535226;113....     None   \n",
       "13  113.974188,22.534766;113.973989,22.534674;113....     None   \n",
       "14           113.973099,22.534588;113.97306,22.534648     None   \n",
       "\n",
       "                                                 tmcs  toll_distance  \\\n",
       "0   [{'distance': 18, 'polyline': '113.929154,22.5...              0   \n",
       "1   [{'distance': 70, 'polyline': '113.928655,22.5...              0   \n",
       "2   [{'distance': 213, 'polyline': '113.928885,22....              0   \n",
       "3   [{'distance': 86, 'polyline': '113.92954,22.52...              0   \n",
       "4   [{'distance': 71, 'polyline': '113.93477,22.52...              0   \n",
       "5   [{'distance': 145, 'polyline': '113.948294,22....              0   \n",
       "6   [{'distance': 240, 'polyline': '113.951181,22....              0   \n",
       "7   [{'distance': 34, 'polyline': '113.952721,22.5...              0   \n",
       "8   [{'distance': 154, 'polyline': '113.959167,22....              0   \n",
       "9   [{'distance': 104, 'polyline': '113.964701,22....              0   \n",
       "10  [{'distance': 30, 'polyline': '113.973637,22.5...              0   \n",
       "11  [{'distance': 94, 'polyline': '113.975738,22.5...              0   \n",
       "12  [{'distance': 40, 'polyline': '113.975052,22.5...              0   \n",
       "13  [{'distance': 22, 'polyline': '113.974188,22.5...              0   \n",
       "14  [{'distance': 8, 'polyline': '113.973099,22.53...              0   \n",
       "\n",
       "   toll_road  tolls  \n",
       "0                 0  \n",
       "1                 0  \n",
       "2                 0  \n",
       "3                 0  \n",
       "4                 0  \n",
       "5                 0  \n",
       "6                 0  \n",
       "7                 0  \n",
       "8                 0  \n",
       "9                 0  \n",
       "10                0  \n",
       "11                0  \n",
       "12                0  \n",
       "13                0  \n",
       "14                0  "
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# B5\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> truck函数\n",
    "def truck(origin,destination,originid=None,destinationid=None,originidtype=None,destinationtype=None,diu=None,strategy=1,waypoints=None,size=2,province=None,number=None,cartype=0,showpolyline=1,nosteps=0,\n",
    "          avoidpolygons=None,height=1.6,width=2.5,load=0.9,weight=10,axis=2)->dict:\n",
    "    \"\"\"获取货车路径规划\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v4/direction/truck?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origin':origin,\n",
    "        'destination':destination,\n",
    "        'originid':originid, #出发POI的唯一编号 \n",
    "        'destinationid':destinationid, #终点POI的唯一编号 \n",
    "        'originidtype':originidtype, #出发POI的类型 \n",
    "        'destinationtype':destinationtype, #终点POI的类型 \n",
    "        'avoidpolygons':avoidpolygons, #避让区域 \n",
    "        'diu':diu, #设备唯一编号\n",
    "        'strategy':strategy, #驾车选择策略\n",
    "        'waypoints':waypoints, #途经点\n",
    "        'size':size, #车辆大小\n",
    "        'province':province, #车牌省份\n",
    "        'number':number, #车牌详情\n",
    "        'cartype':cartype, #车辆类型\n",
    "        'height':height, #车辆高度\n",
    "        'width':width, #车辆宽度\n",
    "        'load':load, #车辆总重\n",
    "        'weight':weight, #货车核定载重\n",
    "        'axis':axis, #车辆轴数\n",
    "        'showpolyline':showpolyline, #是否返回路线数据\n",
    "        'nosteps':nosteps #是否返回steps字段内容    \n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 获取地理编码\n",
    "南山书城 = geocode('广东省深圳市南山区深圳南山书城')\n",
    "南山书城_location = 南山书城['geocodes'][0]['location']\n",
    "世界之窗_location = 世界之窗['geocodes'][0]['location']\n",
    "print(\"(起点)南山书城_location:\",南山书城_location,\"(终点)世界之窗_location:\",世界之窗_location)\n",
    "\n",
    "# 调用truck函数\n",
    "# 思考：此功能运用了机器学习：根据用户地域、距离、时长、工具等不同场景学习不同的出行决策，根据用户的定位数据、出行数据、反馈数据，\n",
    "# 来为用户提供省时、省力以及舒适性的偏好决策模型；AI：推荐算法，为用户提供货车驾驶的最佳方案。\n",
    "南山书城_世界之窗 = truck(南山书城_location,世界之窗_location)\n",
    "print(南山书城_世界之窗)\n",
    "\n",
    "# pandas\n",
    "df = pd.json_normalize(南山书城_世界之窗['data'][\"route\"][\"paths\"][0]['steps'])\n",
    "df"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 距离测量\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/direction#distance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(起点)南山书城_location: 113.929239,22.519521 (终点)世界之窗_location: 113.972976,22.534607\n",
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'results': [{'origin_id': '1', 'dest_id': '1', 'distance': '7199', 'duration': '1080'}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>origin_id</th>\n",
       "      <th>dest_id</th>\n",
       "      <th>distance</th>\n",
       "      <th>duration</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>7199</td>\n",
       "      <td>1080</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  origin_id dest_id distance duration\n",
       "0         1       1     7199     1080"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# B6\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> distance函数\n",
    "def distance(origins,destination,type=1,sig=None,callback=None)->dict:\n",
    "    \"\"\"获取距离\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/distance?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'origins':origins,\n",
    "        'destination':destination,\n",
    "        'type':type, #路径计算的方式和方法 0:直线距离 1:驾车导航距离（仅支持国内坐标） 3:步行规划距离（仅支持5km之间的距离）\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 获取地理编码\n",
    "南山书城 = geocode('广东省深圳市南山区深圳南山书城')\n",
    "南山书城_location = 南山书城['geocodes'][0]['location']\n",
    "世界之窗_location = 世界之窗['geocodes'][0]['location']\n",
    "print(\"(起点)南山书城_location:\",南山书城_location,\"(终点)世界之窗_location:\",世界之窗_location)\n",
    "\n",
    "# 调用distance函数\n",
    "# 思考：此功能运用了机器学习\n",
    "南山书城_世界之窗 = distance(南山书城_location,世界之窗_location)\n",
    "print(南山书城_世界之窗)\n",
    "\n",
    "# pandas\n",
    "df_distance = pd.json_normalize(南山书城_世界之窗['results'])\n",
    "df_distance"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ③ 行政区域查询\n",
    "\n",
    "行政区域查询是一类简单的HTTP接口，根据用户输入的搜索条件可以帮助用户快速的查找特定的行政区域信息。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/district"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>citycode</th>\n",
       "      <th>adcode</th>\n",
       "      <th>name</th>\n",
       "      <th>center</th>\n",
       "      <th>level</th>\n",
       "      <th>districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>宝安区</td>\n",
       "      <td>113.828671,22.754741</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440306', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>南山区</td>\n",
       "      <td>113.92943,22.531221</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440305', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>福田区</td>\n",
       "      <td>114.05096,22.541009</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440304', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>盐田区</td>\n",
       "      <td>114.235366,22.555069</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440308', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>罗湖区</td>\n",
       "      <td>114.123885,22.555341</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440303', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>龙岗区</td>\n",
       "      <td>114.251372,22.721511</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440307', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>龙华区</td>\n",
       "      <td>114.044346,22.691963</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440309', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440310</td>\n",
       "      <td>坪山区</td>\n",
       "      <td>114.338441,22.69423</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440310', 'nam...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>光明区</td>\n",
       "      <td>113.935895,22.748816</td>\n",
       "      <td>district</td>\n",
       "      <td>[{'citycode': '0755', 'adcode': '440311', 'nam...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  citycode  adcode name                center     level  \\\n",
       "0     0755  440306  宝安区  113.828671,22.754741  district   \n",
       "1     0755  440305  南山区   113.92943,22.531221  district   \n",
       "2     0755  440304  福田区   114.05096,22.541009  district   \n",
       "3     0755  440308  盐田区  114.235366,22.555069  district   \n",
       "4     0755  440303  罗湖区  114.123885,22.555341  district   \n",
       "5     0755  440307  龙岗区  114.251372,22.721511  district   \n",
       "6     0755  440309  龙华区  114.044346,22.691963  district   \n",
       "7     0755  440310  坪山区   114.338441,22.69423  district   \n",
       "8     0755  440311  光明区  113.935895,22.748816  district   \n",
       "\n",
       "                                           districts  \n",
       "0  [{'citycode': '0755', 'adcode': '440306', 'nam...  \n",
       "1  [{'citycode': '0755', 'adcode': '440305', 'nam...  \n",
       "2  [{'citycode': '0755', 'adcode': '440304', 'nam...  \n",
       "3  [{'citycode': '0755', 'adcode': '440308', 'nam...  \n",
       "4  [{'citycode': '0755', 'adcode': '440303', 'nam...  \n",
       "5  [{'citycode': '0755', 'adcode': '440307', 'nam...  \n",
       "6  [{'citycode': '0755', 'adcode': '440309', 'nam...  \n",
       "7  [{'citycode': '0755', 'adcode': '440310', 'nam...  \n",
       "8  [{'citycode': '0755', 'adcode': '440311', 'nam...  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_宝安区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>松岗街道</td>\n",
       "      <td>113.864,22.837</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>沙井街道</td>\n",
       "      <td>113.827,22.7008</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>深圳市宝安国际机场</td>\n",
       "      <td>113.832,22.6468</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>西乡街道</td>\n",
       "      <td>113.824,22.5449</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>石岩街道</td>\n",
       "      <td>113.941,22.7068</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>福永街道</td>\n",
       "      <td>113.856,22.6742</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>新安街道</td>\n",
       "      <td>113.91,22.5987</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>航城街道</td>\n",
       "      <td>113.853,22.6071</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0755</td>\n",
       "      <td>440306</td>\n",
       "      <td>福海街道</td>\n",
       "      <td>113.827,22.6995</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  districts_citycode districts_adcode districts_宝安区 districts_center  \\\n",
       "0               0755           440306          松岗街道   113.864,22.837   \n",
       "1               0755           440306          沙井街道  113.827,22.7008   \n",
       "2               0755           440306     深圳市宝安国际机场  113.832,22.6468   \n",
       "3               0755           440306          西乡街道  113.824,22.5449   \n",
       "4               0755           440306          石岩街道  113.941,22.7068   \n",
       "5               0755           440306          福永街道  113.856,22.6742   \n",
       "6               0755           440306          新安街道   113.91,22.5987   \n",
       "7               0755           440306          航城街道  113.853,22.6071   \n",
       "8               0755           440306          福海街道  113.827,22.6995   \n",
       "\n",
       "  districts_level districts_districts  \n",
       "0          street                  []  \n",
       "1          street                  []  \n",
       "2          street                  []  \n",
       "3          street                  []  \n",
       "4          street                  []  \n",
       "5          street                  []  \n",
       "6          street                  []  \n",
       "7          street                  []  \n",
       "8          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_南山区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>招商街道</td>\n",
       "      <td>113.921,22.4885</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>沙河街道</td>\n",
       "      <td>113.957,22.5347</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>西丽街道</td>\n",
       "      <td>113.945,22.6508</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>桃源街道</td>\n",
       "      <td>114.019,22.5792</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>粤海街道</td>\n",
       "      <td>113.956,22.5327</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>南头街道</td>\n",
       "      <td>113.909,22.5517</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>蛇口街道</td>\n",
       "      <td>113.852,22.4966</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440305</td>\n",
       "      <td>南山街道</td>\n",
       "      <td>113.927,22.5135</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  districts_citycode districts_adcode districts_南山区 districts_center  \\\n",
       "0               0755           440305          招商街道  113.921,22.4885   \n",
       "1               0755           440305          沙河街道  113.957,22.5347   \n",
       "2               0755           440305          西丽街道  113.945,22.6508   \n",
       "3               0755           440305          桃源街道  114.019,22.5792   \n",
       "4               0755           440305          粤海街道  113.956,22.5327   \n",
       "5               0755           440305          南头街道  113.909,22.5517   \n",
       "6               0755           440305          蛇口街道  113.852,22.4966   \n",
       "7               0755           440305          南山街道  113.927,22.5135   \n",
       "\n",
       "  districts_level districts_districts  \n",
       "0          street                  []  \n",
       "1          street                  []  \n",
       "2          street                  []  \n",
       "3          street                  []  \n",
       "4          street                  []  \n",
       "5          street                  []  \n",
       "6          street                  []  \n",
       "7          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_福田区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>莲花街道</td>\n",
       "      <td>114.054,22.5624</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>沙头街道</td>\n",
       "      <td>113.995,22.5325</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>园岭街道</td>\n",
       "      <td>114.105,22.5607</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>华强北街道</td>\n",
       "      <td>114.089,22.5489</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>福保街道</td>\n",
       "      <td>114.065,22.5177</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>南园街道</td>\n",
       "      <td>114.097,22.5408</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>梅林街道</td>\n",
       "      <td>114.007,22.5768</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>香蜜湖街道</td>\n",
       "      <td>113.998,22.5485</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>福田保税区</td>\n",
       "      <td>114.064,22.5099</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>华富街道</td>\n",
       "      <td>114.086,22.57</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0755</td>\n",
       "      <td>440304</td>\n",
       "      <td>福田街道</td>\n",
       "      <td>114.083,22.5302</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   districts_citycode districts_adcode districts_福田区 districts_center  \\\n",
       "0                0755           440304          莲花街道  114.054,22.5624   \n",
       "1                0755           440304          沙头街道  113.995,22.5325   \n",
       "2                0755           440304          园岭街道  114.105,22.5607   \n",
       "3                0755           440304         华强北街道  114.089,22.5489   \n",
       "4                0755           440304          福保街道  114.065,22.5177   \n",
       "5                0755           440304          南园街道  114.097,22.5408   \n",
       "6                0755           440304          梅林街道  114.007,22.5768   \n",
       "7                0755           440304         香蜜湖街道  113.998,22.5485   \n",
       "8                0755           440304         福田保税区  114.064,22.5099   \n",
       "9                0755           440304          华富街道    114.086,22.57   \n",
       "10               0755           440304          福田街道  114.083,22.5302   \n",
       "\n",
       "   districts_level districts_districts  \n",
       "0           street                  []  \n",
       "1           street                  []  \n",
       "2           street                  []  \n",
       "3           street                  []  \n",
       "4           street                  []  \n",
       "5           street                  []  \n",
       "6           street                  []  \n",
       "7           street                  []  \n",
       "8           street                  []  \n",
       "9           street                  []  \n",
       "10          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_盐田区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>海山街道</td>\n",
       "      <td>114.25,22.5611</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>市保税区</td>\n",
       "      <td>114.242,22.5594</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>梅沙街道</td>\n",
       "      <td>114.281,22.6424</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>盐田街道</td>\n",
       "      <td>114.252,22.5626</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440308</td>\n",
       "      <td>沙头角街道</td>\n",
       "      <td>114.205,22.5706</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  districts_citycode districts_adcode districts_盐田区 districts_center  \\\n",
       "0               0755           440308          海山街道   114.25,22.5611   \n",
       "1               0755           440308          市保税区  114.242,22.5594   \n",
       "2               0755           440308          梅沙街道  114.281,22.6424   \n",
       "3               0755           440308          盐田街道  114.252,22.5626   \n",
       "4               0755           440308         沙头角街道  114.205,22.5706   \n",
       "\n",
       "  districts_level districts_districts  \n",
       "0          street                  []  \n",
       "1          street                  []  \n",
       "2          street                  []  \n",
       "3          street                  []  \n",
       "4          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_罗湖区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>笋岗街道</td>\n",
       "      <td>114.104,22.5621</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>东门街道</td>\n",
       "      <td>114.116,22.5428</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>黄贝街道</td>\n",
       "      <td>114.157,22.5662</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>桂园街道</td>\n",
       "      <td>114.109,22.556</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>清水河街道</td>\n",
       "      <td>114.082,22.5699</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>南湖街道</td>\n",
       "      <td>114.113,22.5389</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>东晓街道</td>\n",
       "      <td>114.123,22.589</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>翠竹街道</td>\n",
       "      <td>114.128,22.574</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>东湖街道</td>\n",
       "      <td>114.204,22.5699</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0755</td>\n",
       "      <td>440303</td>\n",
       "      <td>莲塘街道</td>\n",
       "      <td>114.205,22.565</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  districts_citycode districts_adcode districts_罗湖区 districts_center  \\\n",
       "0               0755           440303          笋岗街道  114.104,22.5621   \n",
       "1               0755           440303          东门街道  114.116,22.5428   \n",
       "2               0755           440303          黄贝街道  114.157,22.5662   \n",
       "3               0755           440303          桂园街道   114.109,22.556   \n",
       "4               0755           440303         清水河街道  114.082,22.5699   \n",
       "5               0755           440303          南湖街道  114.113,22.5389   \n",
       "6               0755           440303          东晓街道   114.123,22.589   \n",
       "7               0755           440303          翠竹街道   114.128,22.574   \n",
       "8               0755           440303          东湖街道  114.204,22.5699   \n",
       "9               0755           440303          莲塘街道   114.205,22.565   \n",
       "\n",
       "  districts_level districts_districts  \n",
       "0          street                  []  \n",
       "1          street                  []  \n",
       "2          street                  []  \n",
       "3          street                  []  \n",
       "4          street                  []  \n",
       "5          street                  []  \n",
       "6          street                  []  \n",
       "7          street                  []  \n",
       "8          street                  []  \n",
       "9          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_龙岗区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>横岗街道</td>\n",
       "      <td>114.186,22.6683</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>南澳街道</td>\n",
       "      <td>114.503,22.5471</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>深圳市大工业区</td>\n",
       "      <td>114.34,22.7141</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>平湖街道</td>\n",
       "      <td>114.097,22.6914</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>坪地街道</td>\n",
       "      <td>114.268,22.7879</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>龙城街道</td>\n",
       "      <td>114.203,22.7553</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>南湾街道</td>\n",
       "      <td>114.121,22.6347</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>葵涌街道</td>\n",
       "      <td>114.48,22.6637</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>坂田街道</td>\n",
       "      <td>114.054,22.6659</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>大鹏街道</td>\n",
       "      <td>114.546,22.6278</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>吉华街道</td>\n",
       "      <td>114.108,22.6604</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>龙岗街道</td>\n",
       "      <td>114.279,22.7537</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>宝龙街道</td>\n",
       "      <td>114.323,22.6927</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>布吉街道</td>\n",
       "      <td>114.108,22.6089</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0755</td>\n",
       "      <td>440307</td>\n",
       "      <td>园山街道</td>\n",
       "      <td>114.203,22.6594</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   districts_citycode districts_adcode districts_龙岗区 districts_center  \\\n",
       "0                0755           440307          横岗街道  114.186,22.6683   \n",
       "1                0755           440307          南澳街道  114.503,22.5471   \n",
       "2                0755           440307       深圳市大工业区   114.34,22.7141   \n",
       "3                0755           440307          平湖街道  114.097,22.6914   \n",
       "4                0755           440307          坪地街道  114.268,22.7879   \n",
       "5                0755           440307          龙城街道  114.203,22.7553   \n",
       "6                0755           440307          南湾街道  114.121,22.6347   \n",
       "7                0755           440307          葵涌街道   114.48,22.6637   \n",
       "8                0755           440307          坂田街道  114.054,22.6659   \n",
       "9                0755           440307          大鹏街道  114.546,22.6278   \n",
       "10               0755           440307          吉华街道  114.108,22.6604   \n",
       "11               0755           440307          龙岗街道  114.279,22.7537   \n",
       "12               0755           440307          宝龙街道  114.323,22.6927   \n",
       "13               0755           440307          布吉街道  114.108,22.6089   \n",
       "14               0755           440307          园山街道  114.203,22.6594   \n",
       "\n",
       "   districts_level districts_districts  \n",
       "0           street                  []  \n",
       "1           street                  []  \n",
       "2           street                  []  \n",
       "3           street                  []  \n",
       "4           street                  []  \n",
       "5           street                  []  \n",
       "6           street                  []  \n",
       "7           street                  []  \n",
       "8           street                  []  \n",
       "9           street                  []  \n",
       "10          street                  []  \n",
       "11          street                  []  \n",
       "12          street                  []  \n",
       "13          street                  []  \n",
       "14          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_龙华区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>观澜街道</td>\n",
       "      <td>114.068,22.7488</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>民治街道</td>\n",
       "      <td>114.012,22.6394</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>大浪街道</td>\n",
       "      <td>114.003,22.7088</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>龙华街道</td>\n",
       "      <td>114.01,22.6723</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>观湖街道</td>\n",
       "      <td>114.083,22.6645</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440309</td>\n",
       "      <td>福城街道</td>\n",
       "      <td>113.991,22.7255</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  districts_citycode districts_adcode districts_龙华区 districts_center  \\\n",
       "0               0755           440309          观澜街道  114.068,22.7488   \n",
       "1               0755           440309          民治街道  114.012,22.6394   \n",
       "2               0755           440309          大浪街道  114.003,22.7088   \n",
       "3               0755           440309          龙华街道   114.01,22.6723   \n",
       "4               0755           440309          观湖街道  114.083,22.6645   \n",
       "5               0755           440309          福城街道  113.991,22.7255   \n",
       "\n",
       "  districts_level districts_districts  \n",
       "0          street                  []  \n",
       "1          street                  []  \n",
       "2          street                  []  \n",
       "3          street                  []  \n",
       "4          street                  []  \n",
       "5          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_坪山区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440310</td>\n",
       "      <td>坑梓街道</td>\n",
       "      <td>114.418,22.7667</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440310</td>\n",
       "      <td>坪山街道</td>\n",
       "      <td>114.384,22.7252</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  districts_citycode districts_adcode districts_坪山区 districts_center  \\\n",
       "0               0755           440310          坑梓街道  114.418,22.7667   \n",
       "1               0755           440310          坪山街道  114.384,22.7252   \n",
       "\n",
       "  districts_level districts_districts  \n",
       "0          street                  []  \n",
       "1          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>districts_citycode</th>\n",
       "      <th>districts_adcode</th>\n",
       "      <th>districts_光明区</th>\n",
       "      <th>districts_center</th>\n",
       "      <th>districts_level</th>\n",
       "      <th>districts_districts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>光明街道</td>\n",
       "      <td>113.993,22.7558</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>公明街道</td>\n",
       "      <td>113.914,22.7718</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>凤凰街道</td>\n",
       "      <td>113.921,22.7273</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>新湖街道</td>\n",
       "      <td>113.996,22.7685</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>玉塘街道</td>\n",
       "      <td>113.904,22.6976</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0755</td>\n",
       "      <td>440311</td>\n",
       "      <td>马田街道</td>\n",
       "      <td>113.858,22.7872</td>\n",
       "      <td>street</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  districts_citycode districts_adcode districts_光明区 districts_center  \\\n",
       "0               0755           440311          光明街道  113.993,22.7558   \n",
       "1               0755           440311          公明街道  113.914,22.7718   \n",
       "2               0755           440311          凤凰街道  113.921,22.7273   \n",
       "3               0755           440311          新湖街道  113.996,22.7685   \n",
       "4               0755           440311          玉塘街道  113.904,22.6976   \n",
       "5               0755           440311          马田街道  113.858,22.7872   \n",
       "\n",
       "  districts_level districts_districts  \n",
       "0          street                  []  \n",
       "1          street                  []  \n",
       "2          street                  []  \n",
       "3          street                  []  \n",
       "4          street                  []  \n",
       "5          street                  []  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# C1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> district函数\n",
    "def district(keywords=None,subdistrict=1,page=1,offset=20,extensions='base',filter='adcode',callback=None)->dict:\n",
    "    \"\"\"查询行政区域\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/config/district?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords, #查询关键字 只支持单个关键词语搜索关键词支持：行政区名称、citycode、adcode\n",
    "        'subdistrict':subdistrict, #子级行政区 0:不返回下级行政区；1:返回下一级行政区；2:返回下两级行政区；3:返回下三级行政区\n",
    "        'page':page, #需要第几页数据\n",
    "        'offset':offset, #最外层返回数据个数\n",
    "        'extensions':extensions, #返回结果控制 base:不返回行政区边界坐标点；all:只返回当前查询district的边界值，不返回子节点的边界值；\n",
    "        'filter':filter, #根据区划过滤\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用district函数\n",
    "# 思考：此功能运用了机器学习、AI中的数据分析\n",
    "深圳 = district(keywords=\"深圳\",subdistrict='2',extensions='all')\n",
    "# print(深圳)\n",
    "\n",
    "# pandas\n",
    "df_district_1级 = pd.json_normalize(深圳[\"districts\"][0]['districts'])\n",
    "display(df_district_1级)\n",
    "df_district_2级_1 = pd.json_normalize(深圳[\"districts\"][0]['districts'][0]['districts']).rename(columns={\"name\":\"宝安区\"})\n",
    "df_district_2级_2 = pd.json_normalize(深圳[\"districts\"][0]['districts'][1]['districts']).rename(columns={\"name\":\"南山区\"})\n",
    "df_district_2级_3 = pd.json_normalize(深圳[\"districts\"][0]['districts'][2]['districts']).rename(columns={\"name\":\"福田区\"})\n",
    "df_district_2级_4 = pd.json_normalize(深圳[\"districts\"][0]['districts'][3]['districts']).rename(columns={\"name\":\"盐田区\"})\n",
    "df_district_2级_5 = pd.json_normalize(深圳[\"districts\"][0]['districts'][4]['districts']).rename(columns={\"name\":\"罗湖区\"})\n",
    "df_district_2级_6 = pd.json_normalize(深圳[\"districts\"][0]['districts'][5]['districts']).rename(columns={\"name\":\"龙岗区\"})\n",
    "df_district_2级_7 = pd.json_normalize(深圳[\"districts\"][0]['districts'][6]['districts']).rename(columns={\"name\":\"龙华区\"})\n",
    "df_district_2级_8 = pd.json_normalize(深圳[\"districts\"][0]['districts'][7]['districts']).rename(columns={\"name\":\"坪山区\"})\n",
    "df_district_2级_9 = pd.json_normalize(深圳[\"districts\"][0]['districts'][8]['districts']).rename(columns={\"name\":\"光明区\"})\n",
    "df_district_2级_1.columns = [ \"districts_\"+x for x in df_district_2级_1.columns]\n",
    "df_district_2级_2.columns = [ \"districts_\"+x for x in df_district_2级_2.columns]\n",
    "df_district_2级_3.columns = [ \"districts_\"+x for x in df_district_2级_3.columns]\n",
    "df_district_2级_4.columns = [ \"districts_\"+x for x in df_district_2级_4.columns]\n",
    "df_district_2级_5.columns = [ \"districts_\"+x for x in df_district_2级_5.columns]\n",
    "df_district_2级_6.columns = [ \"districts_\"+x for x in df_district_2级_6.columns]\n",
    "df_district_2级_7.columns = [ \"districts_\"+x for x in df_district_2级_7.columns]\n",
    "df_district_2级_8.columns = [ \"districts_\"+x for x in df_district_2级_8.columns]\n",
    "df_district_2级_9.columns = [ \"districts_\"+x for x in df_district_2级_9.columns]\n",
    "display(df_district_2级_1,df_district_2级_2,df_district_2级_3,df_district_2级_4,df_district_2级_5,df_district_2级_6,df_district_2级_7,df_district_2级_8,df_district_2级_9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ④ 搜索POI\n",
    "\n",
    "搜索服务API是一类简单的HTTP接口，提供多种查询POI信息的能力，其中包括关键字搜索、周边搜索、多边形搜索、ID查询四种筛选机制。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/search"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 关键字搜索\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/search#text"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'count': '844', 'info': 'OK', 'infocode': '10000', 'suggestion': {'keywords': [], 'cities': []}, 'pois': [{'id': 'B0FFJ0CX1H', 'parent': [], 'childtype': [], 'tag': [], 'name': '华强北美食街', 'type': '餐饮服务;餐饮相关场所;餐饮相关', 'typecode': '050000', 'biz_type': 'diner', 'address': '中航路与振华路交叉口北50米', 'location': '114.084416,22.544613', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': '114.084426,22.54437', 'exit_location': [], 'match': '0', 'recommend': '3', 'timestamp': '2020-04-13 15:47:32', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFIJ22Y1', 'parent': [], 'childtype': [], 'tag': [], 'name': '华强北餐饮店', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北赛格科技园6栋2楼GOGO SUSHI集团', 'location': '114.087649,22.544334', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605700', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '3', 'timestamp': '2019-11-25 07:26:16', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFHQYYPF', 'parent': [], 'childtype': [], 'tag': [], 'name': '美食区(茂业百货店)', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北路2009号茂业百货B1(华强店)', 'location': '114.087006,22.545592', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '3', 'timestamp': '2020-02-28 11:17:16', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.5', 'cost': '54.00', 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFF63V9J', 'parent': 'B02F309UDA', 'childtype': '202', 'tag': [], 'name': 'E&E美食募集地(华强北一店)', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北港澳城美食一条街117-118号', 'location': '114.086425,22.546751', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '3', 'timestamp': '2020-04-02 16:09:18', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFIRFYV5', 'parent': 'B02F38TF3H', 'childtype': '202', 'tag': '招牌油泼扯面,陕西凉皮,精瘦肉夹馍,秘制酸辣粉,陕北养生小米粥,藤椒肥牛面,西红柿鸡蛋手工扯面,岐山臊子面,金汤酸辣鱼配米饭,鲜磨豆浆,招牌肉夹馍,大盘鸡盖饭,麻辣米线,肥肠米线,龙利鱼米线,青花椒酸菜鱼配米饭,无骨无刺番茄鱼配米饭,老坛酸菜鱼配米饭,番茄鸡蛋饭,咸鸭蛋,鸡肉豆香饭,秘制卤蛋,牛肉丸米线,秦镇米皮,功夫馍', 'name': '南厨房陕西美食(华强北)', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北街道华航社区深南大道3018号世纪汇商场-1层B115铺位', 'location': '114.086075,22.542540', 'tel': '13590270464', 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605602', 'distance': [], 'navi_poiid': [], 'entr_location': '114.08589,22.543012', 'exit_location': [], 'match': '0', 'recommend': '3', 'timestamp': '2020-04-22 05:37:12', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.5', 'cost': '20.00', 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/918f69fce7dcb6674b889123ef1ef785'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/26345c4bc72475fdb9f63d2982a130bd'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/42ee423f3ecb2c6d6278674abbd2d8fa'}], 'children': []}, {'id': 'B0FFF5UGJX', 'parent': 'B02F37UQ0J', 'childtype': '202', 'tag': '牛杂汤面,汤米粉,牛杂河粉,猪杂泡饭,紫菜汤,生菜汤,手工汤饺子,西洋菜汤,莲藕汤,益母草汤,猪杂汤饭,洪阳粿汁,猪杂汤河粉,河粉汤,手工面汤,干捞饺子,干捞酥面,干捞米粉,干捞河粉,尖米圆汤,针菜木耳汤,生鱼丸,生羊肉,生牛肉,杂咸番薯粥', 'name': '和记美食店(华强北街店)', 'type': '餐饮服务;快餐厅;快餐厅', 'typecode': '050300', 'biz_type': 'diner', 'address': '深南中路潮流前线2楼1B066', 'location': '114.085258,22.540585', 'tel': '13352999656', 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314604622', 'distance': [], 'navi_poiid': [], 'entr_location': '114.085491,22.540648', 'exit_location': [], 'match': '0', 'recommend': '3', 'timestamp': '2020-04-01 14:28:08', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.5', 'cost': '15.00', 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/7f6906f93e17911e2559d7c872b592fd'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/081bed97b364a0d49dfb73c0e46ae0df'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/7d54a21cf93b8e8bee15f8089e5f7866'}], 'children': []}, {'id': 'B0FFLIQ1KR', 'parent': [], 'childtype': [], 'tag': [], 'name': '华强北饭吧', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': [], 'location': '114.090728,22.542955', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605700', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2019-11-28 13:41:28', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFJC1H29', 'parent': [], 'childtype': [], 'tag': [], 'name': '家茂美食', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北上步工业区202栋201栋14号', 'location': '114.084761,22.548423', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605622', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-03-06 10:41:28', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFJ1MEFC', 'parent': 'B0FFFKBWWS', 'childtype': '202', 'tag': [], 'name': '美食街(沙瓦吉店)', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北路3003-1号港澳城国美电器一楼', 'location': '114.086048,22.546782', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-13 15:12:14', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.5', 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/16a92d1736409df577eae5d6e158ad2e'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/2b82eb92c7907156f9335ef3e6404729'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/5d53f2ce21d137526b75ccbbffea5adb'}], 'children': []}, {'id': 'B0FFMDGJ68', 'parent': [], 'childtype': [], 'tag': [], 'name': '华联发大厦美食城', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北振华路华联发大厦美食城', 'location': '114.087432,22.544639', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-17 11:51:08', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFLIE4MM', 'parent': [], 'childtype': [], 'tag': [], 'name': '美食城火锅鸡档', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北路华发大厦二楼美食城', 'location': '114.089955,22.546262', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605710', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-01 14:36:37', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFKSE3LQ', 'parent': [], 'childtype': [], 'tag': '黑糖脏脏鲜奶,抹茶舒芙蕾,草莓舒芙蕾,鲜奶珍珠舒芙蕾,海盐舒芙蕾,芒果舒芙蕾,巧克力舒芙蕾,原味舒芙蕾,阿萨姆红茶,茉莉绿茶,黑糖琉璃茉香茶,橙香菠萝,布丁奶茶,琉璃茉香奶茶,四季春茶,珍珠奶盖茶,熊猫奶盖,牛乳蓝水晶,牛乳黑水晶,椰奶黑水晶,奶茶蓝水晶,爆宁四季春,满杯橙子,超级水果茶,芝士莓莓', 'name': '芝士岛舒芙蕾', 'type': '餐饮服务;餐饮相关场所;餐饮相关', 'typecode': '050000', 'biz_type': 'diner', 'address': '华强北美食城二楼606', 'location': '114.086713,22.546829', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-17 12:22:15', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFK2AJ8X', 'parent': [], 'childtype': [], 'tag': '特色蒸饺,特色煎饺,咸骨粥,紫菜干捞饺,烧仙草草粿,五彩杂锦云吞,百香果茶,椰汁西米露,鲜虾蟹籽云吞,香菇马蹄蒸饺,冰镇绿豆汤,鲜肉云吞,芹莱干捞饺,全家福蒸饺,韭菜蒸饺,玉米煎饺,韭菜干捞饺,白菜干捞饺,玉米蒸饺,香菇马蹄煎饺,韭菜煎饺,全家福煎饺,特辣辣椒油', 'name': '浙饺皇', 'type': '餐饮服务;餐饮相关场所;餐饮相关', 'typecode': '050000', 'biz_type': 'diner', 'address': '华强北路华联发大厦附属楼二楼华强北美食城610-611铺位', 'location': '114.087391,22.544540', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': '114.088043,22.54454', 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2019-10-18 16:04:31', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.0', 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFG4CLDY', 'parent': [], 'childtype': [], 'tag': [], 'name': '曼哈顿美食广场', 'type': '餐饮服务;中餐厅;综合酒楼', 'typecode': '050101', 'biz_type': 'diner', 'address': '华强北路曼哈顿广场1楼', 'location': '114.087005,22.545630', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': 'F50F018001_151138', 'entr_location': '114.086685,22.545708', 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-03-20 17:21:28', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/559a32caa310b38d66d2e9fd'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/def7fd889436ef473c1e10f2d4a7a6fb'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/386a5f2e339a899d884fbd41c785f3af'}], 'children': [{'id': ' B0FFH0YL27 ', 'name': ' 曼哈顿美食广场(西门) ', 'sname': ' 西门 ', 'location': '114.086979,22.545789', 'address': ' 华强北步行街与振兴路交叉口东南100米 ', 'distance': ' 0 ', 'subtype': '门', 'typecode': ' 991400 '}]}, {'id': 'B0FFHR7NKW', 'parent': 'B0FFHXLITT', 'childtype': '202', 'tag': '寿司组合,烧玉子寿司,青瓜卷,三文鱼寿司,鳗鱼炒饭,寿司单人餐,小卷组合,蛋炒饭,海草,鳗鱼特卷,炙烧三文鱼,天妇罗虾卷,芝士鳗鱼卷,芝麻八爪鱼小食,芝士炸虾卷,章鱼小丸子,拿吞鱼军舰,肉松卷,香芋地瓜丸,猪颈肉拉面,猪软骨拉面,肥牛拉面,咖喱猪扒饭,带子裙边军舰,三文鱼沙律军舰', 'name': '尚寿司拌饭拉面(华新店)', 'type': '餐饮服务;快餐厅;快餐厅', 'typecode': '050300', 'biz_type': 'diner', 'address': '华强北街道华新地铁站负一层时尚华城东区美食广场23号铺', 'location': '114.088844,22.548756', 'tel': '13530651549', 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605720', 'distance': [], 'navi_poiid': [], 'entr_location': '114.087213,22.548931', 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-22 10:35:10', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.5', 'cost': '20.00', 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/46db8bc85a77bfa0b482351cab3a7730'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/f2a1e3fe0efc431c7f5a5a3092199f7a'}, {'title': '寿司组合', 'url': 'http://store.is.autonavi.com/showpic/a373ce7009a7766d6db6f71375efc5e7'}], 'children': []}, {'id': 'B0FFHDMAY3', 'parent': [], 'childtype': [], 'tag': '牛肉炒饭,特色炒米粉,牛肉汤粿,牛杂汤粿,潮汕猪杂汤饭,熟牛杂,熟牛腩,鲜牛肉,汕头牛筋丸,丸三宝汤粉,牛肚汤粉,莲藕排骨汤饭,肉蛋炒粿,春菜炖排骨,干炒牛河,潮汕特色炒手工面,客家咸豆干焖五花,海鲜炒公仔面,海鲜炒饭,鱼饺汤粿,鱼丸汤粿,肉卷小炒肉,香菇花生猪蹄饭,特色焖鸭饭,姜葱凤爪饭', 'name': '揭阳原味汤粉店(华强北店)', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北路2022号曼哈商业广场1楼曼哈顿美食城', 'location': '114.087977,22.545276', 'tel': '18813676704;13662550809', 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605710', 'distance': [], 'navi_poiid': 'F50F018001_146945', 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-22 03:10:31', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.5', 'cost': '16.00', 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/a4e198ea722c58cc60efb06cc0b61ec3'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/4e29ee4c3ce26fcb4690e2020d7e38c5'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/055f5dbbe16a77f6de64c948ed8abd35'}], 'children': []}, {'id': 'B0FFHHHNQA', 'parent': [], 'childtype': [], 'tag': [], 'name': '万商美食城', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北路赛格科技园3栋西4层', 'location': '114.087048,22.547915', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605622', 'distance': [], 'navi_poiid': 'F50F018001_432015', 'entr_location': '114.086644,22.547878', 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-02 22:05:16', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/04e00348b5a8b9a92795e3f868671fcb'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/2dba0ace2216434bf73286852082bc7f'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/e96067c1ac9f1c3d4454c830a5084aab'}], 'children': []}, {'id': 'B0FFJIEUOX', 'parent': [], 'childtype': [], 'tag': [], 'name': '华强北港式点心', 'type': '餐饮服务;中餐厅;特色/地方风味餐厅', 'typecode': '050118', 'biz_type': 'diner', 'address': '汇通安防数码港3号街外铺', 'location': '114.088345,22.543563', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605700', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-02-18 16:07:40', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.5', 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [], 'children': []}, {'id': 'B0FFFFQRQI', 'parent': [], 'childtype': [], 'tag': '啤酒烧鸭饭,湖南小炒肉饭,木耳烧肉饭,老坛酸菜鱼饭,干豆角烧肉饭,金针里脊饭,豆泡烧肉饭,香菇培根饭,小白菜豆腐汤,紫菜蛋花汤,西红柿蛋花汤,香干肉丝饭,台湾卤肉饭,秘制大排饭,鱼香肉丝饭,咖喱鸡饭,红烧狮子头饭,红烧鸡杂饭,香干回锅肉饭,宫爆鸡丁饭', 'name': '小米姑娘(华强北店)', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北华发北路新嘉年华外贸服装城2层美食城', 'location': '114.090220,22.546160', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605710', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-02-19 15:27:18', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.0', 'cost': '13.00', 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/0504242706bae2fd5b4115691bbb1d7d'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/a6d2c91bda764b6756d8255502216078'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/ecf7382a31de480c72d0b2935650b2fa'}], 'children': []}, {'id': 'B0FFIP4O1S', 'parent': [], 'childtype': [], 'tag': [], 'name': '汪星厨美食广场', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北远望数码城后门美食街二楼', 'location': '114.087751,22.545385', 'tel': '0755-36994112;13902974342', 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605710', 'distance': [], 'navi_poiid': [], 'entr_location': [], 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-21 10:27:26', 'alias': [], 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': '3.0', 'cost': [], 'meal_ordering': '0'}, 'event': [], 'photos': [{'title': [], 'url': 'http://store.is.autonavi.com/showpic/a3f17b914fe5e48c792f50e9197de73f'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/a7c92c6fb27a24b9b8b40d4b8dff7d94'}, {'title': [], 'url': 'http://store.is.autonavi.com/showpic/4222f705ea9415ab1c50f304bef84b97'}], 'children': []}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>tag</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>...</th>\n",
       "      <th>discount_num</th>\n",
       "      <th>event</th>\n",
       "      <th>photos</th>\n",
       "      <th>children</th>\n",
       "      <th>indoor_data.cpid</th>\n",
       "      <th>indoor_data.floor</th>\n",
       "      <th>indoor_data.truefloor</th>\n",
       "      <th>biz_ext.rating</th>\n",
       "      <th>biz_ext.cost</th>\n",
       "      <th>biz_ext.meal_ordering</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFJ0CX1H</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北美食街</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>中航路与振华路交叉口北50米</td>\n",
       "      <td>114.084416,22.544613</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFIJ22Y1</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北餐饮店</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北赛格科技园6栋2楼GOGO SUSHI集团</td>\n",
       "      <td>114.087649,22.544334</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B0FFHQYYPF</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>美食区(茂业百货店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路2009号茂业百货B1(华强店)</td>\n",
       "      <td>114.087006,22.545592</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.5</td>\n",
       "      <td>54.00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B0FFF63V9J</td>\n",
       "      <td>B02F309UDA</td>\n",
       "      <td>202</td>\n",
       "      <td>[]</td>\n",
       "      <td>E&amp;E美食募集地(华强北一店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北港澳城美食一条街117-118号</td>\n",
       "      <td>114.086425,22.546751</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B0FFIRFYV5</td>\n",
       "      <td>B02F38TF3H</td>\n",
       "      <td>202</td>\n",
       "      <td>招牌油泼扯面,陕西凉皮,精瘦肉夹馍,秘制酸辣粉,陕北养生小米粥,藤椒肥牛面,西红柿鸡蛋手工扯...</td>\n",
       "      <td>南厨房陕西美食(华强北)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北街道华航社区深南大道3018号世纪汇商场-1层B115铺位</td>\n",
       "      <td>114.086075,22.542540</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.5</td>\n",
       "      <td>20.00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B0FFF5UGJX</td>\n",
       "      <td>B02F37UQ0J</td>\n",
       "      <td>202</td>\n",
       "      <td>牛杂汤面,汤米粉,牛杂河粉,猪杂泡饭,紫菜汤,生菜汤,手工汤饺子,西洋菜汤,莲藕汤,益母草汤...</td>\n",
       "      <td>和记美食店(华强北街店)</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>深南中路潮流前线2楼1B066</td>\n",
       "      <td>114.085258,22.540585</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.5</td>\n",
       "      <td>15.00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFLIQ1KR</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北饭吧</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>[]</td>\n",
       "      <td>114.090728,22.542955</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B0FFJC1H29</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>家茂美食</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北上步工业区202栋201栋14号</td>\n",
       "      <td>114.084761,22.548423</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFJ1MEFC</td>\n",
       "      <td>B0FFFKBWWS</td>\n",
       "      <td>202</td>\n",
       "      <td>[]</td>\n",
       "      <td>美食街(沙瓦吉店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路3003-1号港澳城国美电器一楼</td>\n",
       "      <td>114.086048,22.546782</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.5</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B0FFMDGJ68</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华联发大厦美食城</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北振华路华联发大厦美食城</td>\n",
       "      <td>114.087432,22.544639</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFLIE4MM</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>美食城火锅鸡档</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路华发大厦二楼美食城</td>\n",
       "      <td>114.089955,22.546262</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFKSE3LQ</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>黑糖脏脏鲜奶,抹茶舒芙蕾,草莓舒芙蕾,鲜奶珍珠舒芙蕾,海盐舒芙蕾,芒果舒芙蕾,巧克力舒芙蕾,...</td>\n",
       "      <td>芝士岛舒芙蕾</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北美食城二楼606</td>\n",
       "      <td>114.086713,22.546829</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B0FFK2AJ8X</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>特色蒸饺,特色煎饺,咸骨粥,紫菜干捞饺,烧仙草草粿,五彩杂锦云吞,百香果茶,椰汁西米露,鲜虾...</td>\n",
       "      <td>浙饺皇</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路华联发大厦附属楼二楼华强北美食城610-611铺位</td>\n",
       "      <td>114.087391,22.544540</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.0</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B0FFG4CLDY</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>曼哈顿美食广场</td>\n",
       "      <td>餐饮服务;中餐厅;综合酒楼</td>\n",
       "      <td>050101</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路曼哈顿广场1楼</td>\n",
       "      <td>114.087005,22.545630</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[{'id': ' B0FFH0YL27 ', 'name': ' 曼哈顿美食广场(西门) ...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B0FFHR7NKW</td>\n",
       "      <td>B0FFHXLITT</td>\n",
       "      <td>202</td>\n",
       "      <td>寿司组合,烧玉子寿司,青瓜卷,三文鱼寿司,鳗鱼炒饭,寿司单人餐,小卷组合,蛋炒饭,海草,鳗鱼...</td>\n",
       "      <td>尚寿司拌饭拉面(华新店)</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北街道华新地铁站负一层时尚华城东区美食广场23号铺</td>\n",
       "      <td>114.088844,22.548756</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.5</td>\n",
       "      <td>20.00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B0FFHDMAY3</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>牛肉炒饭,特色炒米粉,牛肉汤粿,牛杂汤粿,潮汕猪杂汤饭,熟牛杂,熟牛腩,鲜牛肉,汕头牛筋丸,...</td>\n",
       "      <td>揭阳原味汤粉店(华强北店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路2022号曼哈商业广场1楼曼哈顿美食城</td>\n",
       "      <td>114.087977,22.545276</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.5</td>\n",
       "      <td>16.00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B0FFHHHNQA</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>万商美食城</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路赛格科技园3栋西4层</td>\n",
       "      <td>114.087048,22.547915</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B0FFJIEUOX</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北港式点心</td>\n",
       "      <td>餐饮服务;中餐厅;特色/地方风味餐厅</td>\n",
       "      <td>050118</td>\n",
       "      <td>diner</td>\n",
       "      <td>汇通安防数码港3号街外铺</td>\n",
       "      <td>114.088345,22.543563</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.5</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B0FFFFQRQI</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>啤酒烧鸭饭,湖南小炒肉饭,木耳烧肉饭,老坛酸菜鱼饭,干豆角烧肉饭,金针里脊饭,豆泡烧肉饭,香...</td>\n",
       "      <td>小米姑娘(华强北店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北华发北路新嘉年华外贸服装城2层美食城</td>\n",
       "      <td>114.090220,22.546160</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.0</td>\n",
       "      <td>13.00</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B0FFIP4O1S</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>汪星厨美食广场</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北远望数码城后门美食街二楼</td>\n",
       "      <td>114.087751,22.545385</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[{'title': [], 'url': 'http://store.is.autonav...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>3.0</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>20 rows × 46 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype  \\\n",
       "0   B0FFJ0CX1H          []        []   \n",
       "1   B0FFIJ22Y1          []        []   \n",
       "2   B0FFHQYYPF          []        []   \n",
       "3   B0FFF63V9J  B02F309UDA       202   \n",
       "4   B0FFIRFYV5  B02F38TF3H       202   \n",
       "5   B0FFF5UGJX  B02F37UQ0J       202   \n",
       "6   B0FFLIQ1KR          []        []   \n",
       "7   B0FFJC1H29          []        []   \n",
       "8   B0FFJ1MEFC  B0FFFKBWWS       202   \n",
       "9   B0FFMDGJ68          []        []   \n",
       "10  B0FFLIE4MM          []        []   \n",
       "11  B0FFKSE3LQ          []        []   \n",
       "12  B0FFK2AJ8X          []        []   \n",
       "13  B0FFG4CLDY          []        []   \n",
       "14  B0FFHR7NKW  B0FFHXLITT       202   \n",
       "15  B0FFHDMAY3          []        []   \n",
       "16  B0FFHHHNQA          []        []   \n",
       "17  B0FFJIEUOX          []        []   \n",
       "18  B0FFFFQRQI          []        []   \n",
       "19  B0FFIP4O1S          []        []   \n",
       "\n",
       "                                                  tag             name  \\\n",
       "0                                                  []           华强北美食街   \n",
       "1                                                  []           华强北餐饮店   \n",
       "2                                                  []       美食区(茂业百货店)   \n",
       "3                                                  []  E&E美食募集地(华强北一店)   \n",
       "4   招牌油泼扯面,陕西凉皮,精瘦肉夹馍,秘制酸辣粉,陕北养生小米粥,藤椒肥牛面,西红柿鸡蛋手工扯...     南厨房陕西美食(华强北)   \n",
       "5   牛杂汤面,汤米粉,牛杂河粉,猪杂泡饭,紫菜汤,生菜汤,手工汤饺子,西洋菜汤,莲藕汤,益母草汤...     和记美食店(华强北街店)   \n",
       "6                                                  []            华强北饭吧   \n",
       "7                                                  []             家茂美食   \n",
       "8                                                  []        美食街(沙瓦吉店)   \n",
       "9                                                  []         华联发大厦美食城   \n",
       "10                                                 []          美食城火锅鸡档   \n",
       "11  黑糖脏脏鲜奶,抹茶舒芙蕾,草莓舒芙蕾,鲜奶珍珠舒芙蕾,海盐舒芙蕾,芒果舒芙蕾,巧克力舒芙蕾,...           芝士岛舒芙蕾   \n",
       "12  特色蒸饺,特色煎饺,咸骨粥,紫菜干捞饺,烧仙草草粿,五彩杂锦云吞,百香果茶,椰汁西米露,鲜虾...              浙饺皇   \n",
       "13                                                 []          曼哈顿美食广场   \n",
       "14  寿司组合,烧玉子寿司,青瓜卷,三文鱼寿司,鳗鱼炒饭,寿司单人餐,小卷组合,蛋炒饭,海草,鳗鱼...     尚寿司拌饭拉面(华新店)   \n",
       "15  牛肉炒饭,特色炒米粉,牛肉汤粿,牛杂汤粿,潮汕猪杂汤饭,熟牛杂,熟牛腩,鲜牛肉,汕头牛筋丸,...    揭阳原味汤粉店(华强北店)   \n",
       "16                                                 []            万商美食城   \n",
       "17                                                 []          华强北港式点心   \n",
       "18  啤酒烧鸭饭,湖南小炒肉饭,木耳烧肉饭,老坛酸菜鱼饭,干豆角烧肉饭,金针里脊饭,豆泡烧肉饭,香...       小米姑娘(华强北店)   \n",
       "19                                                 []          汪星厨美食广场   \n",
       "\n",
       "                  type typecode biz_type                           address  \\\n",
       "0     餐饮服务;餐饮相关场所;餐饮相关   050000    diner                    中航路与振华路交叉口北50米   \n",
       "1         餐饮服务;中餐厅;中餐厅   050100    diner          华强北赛格科技园6栋2楼GOGO SUSHI集团   \n",
       "2         餐饮服务;中餐厅;中餐厅   050100    diner              华强北路2009号茂业百货B1(华强店)   \n",
       "3         餐饮服务;中餐厅;中餐厅   050100    diner               华强北港澳城美食一条街117-118号   \n",
       "4         餐饮服务;中餐厅;中餐厅   050100    diner  华强北街道华航社区深南大道3018号世纪汇商场-1层B115铺位   \n",
       "5         餐饮服务;快餐厅;快餐厅   050300    diner                   深南中路潮流前线2楼1B066   \n",
       "6         餐饮服务;中餐厅;中餐厅   050100    diner                                []   \n",
       "7         餐饮服务;中餐厅;中餐厅   050100    diner               华强北上步工业区202栋201栋14号   \n",
       "8         餐饮服务;中餐厅;中餐厅   050100    diner              华强北路3003-1号港澳城国美电器一楼   \n",
       "9         餐饮服务;中餐厅;中餐厅   050100    diner                    华强北振华路华联发大厦美食城   \n",
       "10        餐饮服务;中餐厅;中餐厅   050100    diner                     华强北路华发大厦二楼美食城   \n",
       "11    餐饮服务;餐饮相关场所;餐饮相关   050000    diner                       华强北美食城二楼606   \n",
       "12    餐饮服务;餐饮相关场所;餐饮相关   050000    diner     华强北路华联发大厦附属楼二楼华强北美食城610-611铺位   \n",
       "13       餐饮服务;中餐厅;综合酒楼   050101    diner                       华强北路曼哈顿广场1楼   \n",
       "14        餐饮服务;快餐厅;快餐厅   050300    diner       华强北街道华新地铁站负一层时尚华城东区美食广场23号铺   \n",
       "15        餐饮服务;中餐厅;中餐厅   050100    diner           华强北路2022号曼哈商业广场1楼曼哈顿美食城   \n",
       "16        餐饮服务;中餐厅;中餐厅   050100    diner                    华强北路赛格科技园3栋西4层   \n",
       "17  餐饮服务;中餐厅;特色/地方风味餐厅   050118    diner                      汇通安防数码港3号街外铺   \n",
       "18        餐饮服务;中餐厅;中餐厅   050100    diner             华强北华发北路新嘉年华外贸服装城2层美食城   \n",
       "19        餐饮服务;中餐厅;中餐厅   050100    diner                   华强北远望数码城后门美食街二楼   \n",
       "\n",
       "                location  ... discount_num event  \\\n",
       "0   114.084416,22.544613  ...            0    []   \n",
       "1   114.087649,22.544334  ...            0    []   \n",
       "2   114.087006,22.545592  ...            0    []   \n",
       "3   114.086425,22.546751  ...            0    []   \n",
       "4   114.086075,22.542540  ...            0    []   \n",
       "5   114.085258,22.540585  ...            0    []   \n",
       "6   114.090728,22.542955  ...            0    []   \n",
       "7   114.084761,22.548423  ...            0    []   \n",
       "8   114.086048,22.546782  ...            0    []   \n",
       "9   114.087432,22.544639  ...            0    []   \n",
       "10  114.089955,22.546262  ...            0    []   \n",
       "11  114.086713,22.546829  ...            0    []   \n",
       "12  114.087391,22.544540  ...            0    []   \n",
       "13  114.087005,22.545630  ...            0    []   \n",
       "14  114.088844,22.548756  ...            0    []   \n",
       "15  114.087977,22.545276  ...            0    []   \n",
       "16  114.087048,22.547915  ...            0    []   \n",
       "17  114.088345,22.543563  ...            0    []   \n",
       "18  114.090220,22.546160  ...            0    []   \n",
       "19  114.087751,22.545385  ...            0    []   \n",
       "\n",
       "                                               photos  \\\n",
       "0                                                  []   \n",
       "1                                                  []   \n",
       "2                                                  []   \n",
       "3                                                  []   \n",
       "4   [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "5   [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "6                                                  []   \n",
       "7                                                  []   \n",
       "8   [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "9                                                  []   \n",
       "10                                                 []   \n",
       "11                                                 []   \n",
       "12                                                 []   \n",
       "13  [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "14  [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "15  [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "16  [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "17                                                 []   \n",
       "18  [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "19  [{'title': [], 'url': 'http://store.is.autonav...   \n",
       "\n",
       "                                             children indoor_data.cpid  \\\n",
       "0                                                  []               []   \n",
       "1                                                  []               []   \n",
       "2                                                  []               []   \n",
       "3                                                  []               []   \n",
       "4                                                  []               []   \n",
       "5                                                  []               []   \n",
       "6                                                  []               []   \n",
       "7                                                  []               []   \n",
       "8                                                  []               []   \n",
       "9                                                  []               []   \n",
       "10                                                 []               []   \n",
       "11                                                 []               []   \n",
       "12                                                 []               []   \n",
       "13  [{'id': ' B0FFH0YL27 ', 'name': ' 曼哈顿美食广场(西门) ...               []   \n",
       "14                                                 []               []   \n",
       "15                                                 []               []   \n",
       "16                                                 []               []   \n",
       "17                                                 []               []   \n",
       "18                                                 []               []   \n",
       "19                                                 []               []   \n",
       "\n",
       "   indoor_data.floor indoor_data.truefloor biz_ext.rating biz_ext.cost  \\\n",
       "0                 []                    []             []           []   \n",
       "1                 []                    []             []           []   \n",
       "2                 []                    []            3.5        54.00   \n",
       "3                 []                    []             []           []   \n",
       "4                 []                    []            3.5        20.00   \n",
       "5                 []                    []            3.5        15.00   \n",
       "6                 []                    []             []           []   \n",
       "7                 []                    []             []           []   \n",
       "8                 []                    []            3.5           []   \n",
       "9                 []                    []             []           []   \n",
       "10                []                    []             []           []   \n",
       "11                []                    []             []           []   \n",
       "12                []                    []            3.0           []   \n",
       "13                []                    []             []           []   \n",
       "14                []                    []            3.5        20.00   \n",
       "15                []                    []            3.5        16.00   \n",
       "16                []                    []             []           []   \n",
       "17                []                    []            3.5           []   \n",
       "18                []                    []            3.0        13.00   \n",
       "19                []                    []            3.0           []   \n",
       "\n",
       "   biz_ext.meal_ordering  \n",
       "0                      0  \n",
       "1                      0  \n",
       "2                      0  \n",
       "3                      0  \n",
       "4                      0  \n",
       "5                      0  \n",
       "6                      0  \n",
       "7                      0  \n",
       "8                      0  \n",
       "9                      0  \n",
       "10                     0  \n",
       "11                     0  \n",
       "12                     0  \n",
       "13                     0  \n",
       "14                     0  \n",
       "15                     0  \n",
       "16                     0  \n",
       "17                     0  \n",
       "18                     0  \n",
       "19                     0  \n",
       "\n",
       "[20 rows x 46 columns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# D1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> text函数\n",
    "def text(keywords=None,types=None,city=None,citylimit='false',children=0,page=1,offset=20,extensions='base',callback=None)->dict:\n",
    "    \"\"\"关键字搜索\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/place/text?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords, #查询关键字\n",
    "        'types':types, #查询POI类型\n",
    "        'city':city, \n",
    "        'citylimit':citylimit, #仅返回指定城市数据\n",
    "        'children':children, #是否按照层级展示子POI数据\n",
    "        'page':page, #当前页数\n",
    "        'offset':offset, #每页记录数据\n",
    "        'extensions':extensions, #返回结果控制 \n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用text函数\n",
    "# 思考：此功能运用了机器学习、AI中对数据化的智能分析\n",
    "SZ_Food = text(keywords=\"华强北美食\",city=\"深圳\",extensions='all',children=1)\n",
    "print(SZ_Food)\n",
    "\n",
    "# pandas\n",
    "df_szfood = pd.json_normalize(SZ_Food['pois'])\n",
    "df_szfood"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 周边搜索\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/search#around"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "华强北_经纬度: 114.086664,22.546780\n",
      "{'status': '1', 'count': '870', 'info': 'OK', 'infocode': '10000', 'suggestion': {'keywords': [], 'cities': []}, 'pois': [{'id': 'B0FFKSE3LQ', 'parent': [], 'childtype': [], 'name': '芝士岛舒芙蕾', 'type': '餐饮服务;餐饮相关场所;餐饮相关', 'typecode': '050000', 'biz_type': 'diner', 'address': '华强北美食城二楼606', 'location': '114.086713,22.546829', 'tel': [], 'distance': '7', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B02F38WP3S', 'parent': 'B02F37ULE9', 'childtype': '202', 'name': 'PSP维修专业修理', 'type': '生活服务;维修站点;维修站点', 'typecode': '071200', 'biz_type': [], 'address': '华强北路万商电脑城D109(肯德基对面)', 'location': '114.086863,22.546664', 'tel': [], 'distance': '24', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFF63V9J', 'parent': 'B02F309UDA', 'childtype': '202', 'name': 'E&E美食募集地(华强北一店)', 'type': '餐饮服务;中餐厅;中餐厅', 'typecode': '050100', 'biz_type': 'diner', 'address': '华强北港澳城美食一条街117-118号', 'location': '114.086425,22.546751', 'tel': [], 'distance': '24', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFJTJWY8', 'parent': [], 'childtype': [], 'name': '深圳蜀熙服务中心', 'type': '生活服务;生活服务场所;生活服务场所', 'typecode': '070000', 'biz_type': [], 'address': '华强北步行街与振兴路交叉口东北50米', 'location': '114.086916,22.546630', 'tel': [], 'distance': '30', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFKRLX8L', 'parent': 'B02F309UDA', 'childtype': '202', 'name': '诗碧曼养发馆华强北港澳城店', 'type': '生活服务;生活服务场所;生活服务场所', 'typecode': '070000', 'biz_type': [], 'address': '华强北路3001号港澳城一层', 'location': '114.086443,22.547012', 'tel': '18926009676;15217028202', 'distance': '34', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '1', 'poiweight': [], 'photos': []}, {'id': 'B0FFKGUR90', 'parent': [], 'childtype': [], 'name': '阿甘锅盔(华强北港澳城店)', 'type': '餐饮服务;快餐厅;快餐厅', 'typecode': '050300', 'biz_type': 'diner', 'address': '华强北路九方购物中心F1层', 'location': '114.086378,22.546619', 'tel': '18813981515', 'distance': '34', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFJV1VKC', 'parent': 'B02F309UDA', 'childtype': '202', 'name': '南充米粉', 'type': '餐饮服务;餐饮相关场所;餐饮相关', 'typecode': '050000', 'biz_type': 'diner', 'address': '华强北路3003港澳城小世食街118号铺', 'location': '114.086309,22.546796', 'tel': [], 'distance': '36', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B02F38OEVR', 'parent': 'B02F309UDA', 'childtype': '201', 'name': '周黑鸭(深圳华强北一店)', 'type': '餐饮服务;中餐厅;湖北菜(鄂菜)', 'typecode': '050112', 'biz_type': 'diner', 'address': '华强北路3003号港澳城(华强北路)F1层', 'location': '114.086316,22.546945', 'tel': '4001717917', 'distance': '40', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFHQAZ4T', 'parent': 'B02F37ULE9', 'childtype': '202', 'name': '创维达笔记本维修中心', 'type': '生活服务;维修站点;维修站点', 'typecode': '071200', 'biz_type': [], 'address': '华强北万商电脑城', 'location': '114.087074,22.546711', 'tel': [], 'distance': '42', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFHE4HL0', 'parent': 'B02F309UDA', 'childtype': '201', 'name': '大卡司(港澳城华强北路)', 'type': '餐饮服务;冷饮店;冷饮店|餐饮服务;甜品店;甜品店', 'typecode': '050700|050900', 'biz_type': 'diner', 'address': '华强北路3003号港澳城(华强北路)F1层', 'location': '114.086287,22.546946', 'tel': '0755-83249060', 'distance': '42', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFGLO2Q3', 'parent': [], 'childtype': [], 'name': '贡茶(华强北店)', 'type': '餐饮服务;冷饮店;冷饮店', 'typecode': '050700', 'biz_type': 'diner', 'address': '华强北路3011号儿童世界华强北总店1楼', 'location': '114.086376,22.547074', 'tel': '0755-82785184', 'distance': '44', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFI9CRA3', 'parent': [], 'childtype': [], 'name': 'E讯手机维修中心', 'type': '生活服务;维修站点;维修站点', 'typecode': '071200', 'biz_type': [], 'address': '华强北路2006号华联发综合楼大厦1-4楼(华强广场酒店斜对面)', 'location': '114.086253,22.546637', 'tel': [], 'distance': '45', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B02F38MAH5', 'parent': 'B02F309UDA', 'childtype': '201', 'name': '日の船章鱼小丸子', 'type': '餐饮服务;外国餐厅;日本料理', 'typecode': '050202', 'biz_type': 'diner', 'address': '华强北路3003号港澳城(华强北路)F1层', 'location': '114.086257,22.546946', 'tel': '15999668862;18823751900', 'distance': '45', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFHXFJBE', 'parent': 'B0FFFKBWWS', 'childtype': '202', 'name': '黑色经典长沙臭豆腐(华强北店)', 'type': '餐饮服务;餐饮相关场所;餐饮相关', 'typecode': '050000', 'biz_type': 'diner', 'address': '华强北国美电器一楼港澳城美食街(周黑鸭往里5米)', 'location': '114.086234,22.546943', 'tel': '13418796566;18025331676', 'distance': '47', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFL2N8UG', 'parent': 'B02F37US87', 'childtype': '202', 'name': '星星饭店干洗店服装', 'type': '生活服务;洗衣店;洗衣店', 'typecode': '071500', 'biz_type': [], 'address': '赛格科技园4栋', 'location': '114.087127,22.546844', 'tel': [], 'distance': '48', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFM3LXRG', 'parent': 'B02F37US87', 'childtype': '202', 'name': '蜂巢快递快递', 'type': '生活服务;物流速递;物流速递', 'typecode': '070500', 'biz_type': [], 'address': '赛格科技园4栋', 'location': '114.087128,22.546846', 'tel': [], 'distance': '48', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFK2271X', 'parent': [], 'childtype': [], 'name': '粥员外(学府店)', 'type': '餐饮服务;快餐厅;快餐厅', 'typecode': '050300', 'biz_type': 'diner', 'address': '赛格科技园管理处4栋A-B轴20-21', 'location': '114.087128,22.546846', 'tel': [], 'distance': '48', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFFDME2Z', 'parent': 'B02F38J5GG', 'childtype': '308', 'name': '创富港赛格科技园5楼分中心', 'type': '商务住宅;产业园区;产业园区', 'typecode': '120100', 'biz_type': [], 'address': '华强北路赛格科技园4栋西5楼b', 'location': '114.087128,22.546846', 'tel': '0755-83010072', 'distance': '48', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B02F37VU94', 'parent': 'B02F37ULE9', 'childtype': '202', 'name': '中国电信(华强北营业厅)', 'type': '生活服务;电讯营业厅;中国电信营业厅', 'typecode': '070601', 'biz_type': [], 'address': '华强北路3002号万商电脑城1层', 'location': '114.087145,22.546667', 'tel': '0755-88847123', 'distance': '51', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFL3YFEJ', 'parent': 'B02F37ULE9', 'childtype': '202', 'name': '深度笔记本维修中心', 'type': '生活服务;生活服务场所;生活服务场所', 'typecode': '070000', 'biz_type': [], 'address': '赛格科技园四栋西万商电脑城二楼A021', 'location': '114.087147,22.546665', 'tel': [], 'distance': '51', 'biz_ext': [], 'importance': [], 'shopid': [], 'shopinfo': '1', 'poiweight': [], 'photos': []}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>tel</th>\n",
       "      <th>distance</th>\n",
       "      <th>biz_ext</th>\n",
       "      <th>importance</th>\n",
       "      <th>shopid</th>\n",
       "      <th>shopinfo</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>photos</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFKSE3LQ</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>芝士岛舒芙蕾</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北美食城二楼606</td>\n",
       "      <td>114.086713,22.546829</td>\n",
       "      <td>[]</td>\n",
       "      <td>7</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B02F38WP3S</td>\n",
       "      <td>B02F37ULE9</td>\n",
       "      <td>202</td>\n",
       "      <td>PSP维修专业修理</td>\n",
       "      <td>生活服务;维修站点;维修站点</td>\n",
       "      <td>071200</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北路万商电脑城D109(肯德基对面)</td>\n",
       "      <td>114.086863,22.546664</td>\n",
       "      <td>[]</td>\n",
       "      <td>24</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B0FFF63V9J</td>\n",
       "      <td>B02F309UDA</td>\n",
       "      <td>202</td>\n",
       "      <td>E&amp;E美食募集地(华强北一店)</td>\n",
       "      <td>餐饮服务;中餐厅;中餐厅</td>\n",
       "      <td>050100</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北港澳城美食一条街117-118号</td>\n",
       "      <td>114.086425,22.546751</td>\n",
       "      <td>[]</td>\n",
       "      <td>24</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B0FFJTJWY8</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>深圳蜀熙服务中心</td>\n",
       "      <td>生活服务;生活服务场所;生活服务场所</td>\n",
       "      <td>070000</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北步行街与振兴路交叉口东北50米</td>\n",
       "      <td>114.086916,22.546630</td>\n",
       "      <td>[]</td>\n",
       "      <td>30</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B0FFKRLX8L</td>\n",
       "      <td>B02F309UDA</td>\n",
       "      <td>202</td>\n",
       "      <td>诗碧曼养发馆华强北港澳城店</td>\n",
       "      <td>生活服务;生活服务场所;生活服务场所</td>\n",
       "      <td>070000</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北路3001号港澳城一层</td>\n",
       "      <td>114.086443,22.547012</td>\n",
       "      <td>18926009676;15217028202</td>\n",
       "      <td>34</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>1</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B0FFKGUR90</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>阿甘锅盔(华强北港澳城店)</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路九方购物中心F1层</td>\n",
       "      <td>114.086378,22.546619</td>\n",
       "      <td>18813981515</td>\n",
       "      <td>34</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFJV1VKC</td>\n",
       "      <td>B02F309UDA</td>\n",
       "      <td>202</td>\n",
       "      <td>南充米粉</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路3003港澳城小世食街118号铺</td>\n",
       "      <td>114.086309,22.546796</td>\n",
       "      <td>[]</td>\n",
       "      <td>36</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B02F38OEVR</td>\n",
       "      <td>B02F309UDA</td>\n",
       "      <td>201</td>\n",
       "      <td>周黑鸭(深圳华强北一店)</td>\n",
       "      <td>餐饮服务;中餐厅;湖北菜(鄂菜)</td>\n",
       "      <td>050112</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路3003号港澳城(华强北路)F1层</td>\n",
       "      <td>114.086316,22.546945</td>\n",
       "      <td>4001717917</td>\n",
       "      <td>40</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFHQAZ4T</td>\n",
       "      <td>B02F37ULE9</td>\n",
       "      <td>202</td>\n",
       "      <td>创维达笔记本维修中心</td>\n",
       "      <td>生活服务;维修站点;维修站点</td>\n",
       "      <td>071200</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北万商电脑城</td>\n",
       "      <td>114.087074,22.546711</td>\n",
       "      <td>[]</td>\n",
       "      <td>42</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B0FFHE4HL0</td>\n",
       "      <td>B02F309UDA</td>\n",
       "      <td>201</td>\n",
       "      <td>大卡司(港澳城华强北路)</td>\n",
       "      <td>餐饮服务;冷饮店;冷饮店|餐饮服务;甜品店;甜品店</td>\n",
       "      <td>050700|050900</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路3003号港澳城(华强北路)F1层</td>\n",
       "      <td>114.086287,22.546946</td>\n",
       "      <td>0755-83249060</td>\n",
       "      <td>42</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>B0FFGLO2Q3</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>贡茶(华强北店)</td>\n",
       "      <td>餐饮服务;冷饮店;冷饮店</td>\n",
       "      <td>050700</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路3011号儿童世界华强北总店1楼</td>\n",
       "      <td>114.086376,22.547074</td>\n",
       "      <td>0755-82785184</td>\n",
       "      <td>44</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>B0FFI9CRA3</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>E讯手机维修中心</td>\n",
       "      <td>生活服务;维修站点;维修站点</td>\n",
       "      <td>071200</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北路2006号华联发综合楼大厦1-4楼(华强广场酒店斜对面)</td>\n",
       "      <td>114.086253,22.546637</td>\n",
       "      <td>[]</td>\n",
       "      <td>45</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>B02F38MAH5</td>\n",
       "      <td>B02F309UDA</td>\n",
       "      <td>201</td>\n",
       "      <td>日の船章鱼小丸子</td>\n",
       "      <td>餐饮服务;外国餐厅;日本料理</td>\n",
       "      <td>050202</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北路3003号港澳城(华强北路)F1层</td>\n",
       "      <td>114.086257,22.546946</td>\n",
       "      <td>15999668862;18823751900</td>\n",
       "      <td>45</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>B0FFHXFJBE</td>\n",
       "      <td>B0FFFKBWWS</td>\n",
       "      <td>202</td>\n",
       "      <td>黑色经典长沙臭豆腐(华强北店)</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>华强北国美电器一楼港澳城美食街(周黑鸭往里5米)</td>\n",
       "      <td>114.086234,22.546943</td>\n",
       "      <td>13418796566;18025331676</td>\n",
       "      <td>47</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>B0FFL2N8UG</td>\n",
       "      <td>B02F37US87</td>\n",
       "      <td>202</td>\n",
       "      <td>星星饭店干洗店服装</td>\n",
       "      <td>生活服务;洗衣店;洗衣店</td>\n",
       "      <td>071500</td>\n",
       "      <td>[]</td>\n",
       "      <td>赛格科技园4栋</td>\n",
       "      <td>114.087127,22.546844</td>\n",
       "      <td>[]</td>\n",
       "      <td>48</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>B0FFM3LXRG</td>\n",
       "      <td>B02F37US87</td>\n",
       "      <td>202</td>\n",
       "      <td>蜂巢快递快递</td>\n",
       "      <td>生活服务;物流速递;物流速递</td>\n",
       "      <td>070500</td>\n",
       "      <td>[]</td>\n",
       "      <td>赛格科技园4栋</td>\n",
       "      <td>114.087128,22.546846</td>\n",
       "      <td>[]</td>\n",
       "      <td>48</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>B0FFK2271X</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>粥员外(学府店)</td>\n",
       "      <td>餐饮服务;快餐厅;快餐厅</td>\n",
       "      <td>050300</td>\n",
       "      <td>diner</td>\n",
       "      <td>赛格科技园管理处4栋A-B轴20-21</td>\n",
       "      <td>114.087128,22.546846</td>\n",
       "      <td>[]</td>\n",
       "      <td>48</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>B0FFFDME2Z</td>\n",
       "      <td>B02F38J5GG</td>\n",
       "      <td>308</td>\n",
       "      <td>创富港赛格科技园5楼分中心</td>\n",
       "      <td>商务住宅;产业园区;产业园区</td>\n",
       "      <td>120100</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北路赛格科技园4栋西5楼b</td>\n",
       "      <td>114.087128,22.546846</td>\n",
       "      <td>0755-83010072</td>\n",
       "      <td>48</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>B02F37VU94</td>\n",
       "      <td>B02F37ULE9</td>\n",
       "      <td>202</td>\n",
       "      <td>中国电信(华强北营业厅)</td>\n",
       "      <td>生活服务;电讯营业厅;中国电信营业厅</td>\n",
       "      <td>070601</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北路3002号万商电脑城1层</td>\n",
       "      <td>114.087145,22.546667</td>\n",
       "      <td>0755-88847123</td>\n",
       "      <td>51</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>B0FFL3YFEJ</td>\n",
       "      <td>B02F37ULE9</td>\n",
       "      <td>202</td>\n",
       "      <td>深度笔记本维修中心</td>\n",
       "      <td>生活服务;生活服务场所;生活服务场所</td>\n",
       "      <td>070000</td>\n",
       "      <td>[]</td>\n",
       "      <td>赛格科技园四栋西万商电脑城二楼A021</td>\n",
       "      <td>114.087147,22.546665</td>\n",
       "      <td>[]</td>\n",
       "      <td>51</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>1</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            id      parent childtype             name  \\\n",
       "0   B0FFKSE3LQ          []        []           芝士岛舒芙蕾   \n",
       "1   B02F38WP3S  B02F37ULE9       202        PSP维修专业修理   \n",
       "2   B0FFF63V9J  B02F309UDA       202  E&E美食募集地(华强北一店)   \n",
       "3   B0FFJTJWY8          []        []         深圳蜀熙服务中心   \n",
       "4   B0FFKRLX8L  B02F309UDA       202    诗碧曼养发馆华强北港澳城店   \n",
       "5   B0FFKGUR90          []        []    阿甘锅盔(华强北港澳城店)   \n",
       "6   B0FFJV1VKC  B02F309UDA       202             南充米粉   \n",
       "7   B02F38OEVR  B02F309UDA       201     周黑鸭(深圳华强北一店)   \n",
       "8   B0FFHQAZ4T  B02F37ULE9       202       创维达笔记本维修中心   \n",
       "9   B0FFHE4HL0  B02F309UDA       201     大卡司(港澳城华强北路)   \n",
       "10  B0FFGLO2Q3          []        []         贡茶(华强北店)   \n",
       "11  B0FFI9CRA3          []        []         E讯手机维修中心   \n",
       "12  B02F38MAH5  B02F309UDA       201         日の船章鱼小丸子   \n",
       "13  B0FFHXFJBE  B0FFFKBWWS       202  黑色经典长沙臭豆腐(华强北店)   \n",
       "14  B0FFL2N8UG  B02F37US87       202        星星饭店干洗店服装   \n",
       "15  B0FFM3LXRG  B02F37US87       202           蜂巢快递快递   \n",
       "16  B0FFK2271X          []        []         粥员外(学府店)   \n",
       "17  B0FFFDME2Z  B02F38J5GG       308    创富港赛格科技园5楼分中心   \n",
       "18  B02F37VU94  B02F37ULE9       202     中国电信(华强北营业厅)   \n",
       "19  B0FFL3YFEJ  B02F37ULE9       202        深度笔记本维修中心   \n",
       "\n",
       "                         type       typecode biz_type  \\\n",
       "0            餐饮服务;餐饮相关场所;餐饮相关         050000    diner   \n",
       "1              生活服务;维修站点;维修站点         071200       []   \n",
       "2                餐饮服务;中餐厅;中餐厅         050100    diner   \n",
       "3          生活服务;生活服务场所;生活服务场所         070000       []   \n",
       "4          生活服务;生活服务场所;生活服务场所         070000       []   \n",
       "5                餐饮服务;快餐厅;快餐厅         050300    diner   \n",
       "6            餐饮服务;餐饮相关场所;餐饮相关         050000    diner   \n",
       "7            餐饮服务;中餐厅;湖北菜(鄂菜)         050112    diner   \n",
       "8              生活服务;维修站点;维修站点         071200       []   \n",
       "9   餐饮服务;冷饮店;冷饮店|餐饮服务;甜品店;甜品店  050700|050900    diner   \n",
       "10               餐饮服务;冷饮店;冷饮店         050700    diner   \n",
       "11             生活服务;维修站点;维修站点         071200       []   \n",
       "12             餐饮服务;外国餐厅;日本料理         050202    diner   \n",
       "13           餐饮服务;餐饮相关场所;餐饮相关         050000    diner   \n",
       "14               生活服务;洗衣店;洗衣店         071500       []   \n",
       "15             生活服务;物流速递;物流速递         070500       []   \n",
       "16               餐饮服务;快餐厅;快餐厅         050300    diner   \n",
       "17             商务住宅;产业园区;产业园区         120100       []   \n",
       "18         生活服务;电讯营业厅;中国电信营业厅         070601       []   \n",
       "19         生活服务;生活服务场所;生活服务场所         070000       []   \n",
       "\n",
       "                             address              location  \\\n",
       "0                        华强北美食城二楼606  114.086713,22.546829   \n",
       "1               华强北路万商电脑城D109(肯德基对面)  114.086863,22.546664   \n",
       "2                华强北港澳城美食一条街117-118号  114.086425,22.546751   \n",
       "3                 华强北步行街与振兴路交叉口东北50米  114.086916,22.546630   \n",
       "4                     华强北路3001号港澳城一层  114.086443,22.547012   \n",
       "5                      华强北路九方购物中心F1层  114.086378,22.546619   \n",
       "6               华强北路3003港澳城小世食街118号铺  114.086309,22.546796   \n",
       "7              华强北路3003号港澳城(华强北路)F1层  114.086316,22.546945   \n",
       "8                           华强北万商电脑城  114.087074,22.546711   \n",
       "9              华强北路3003号港澳城(华强北路)F1层  114.086287,22.546946   \n",
       "10              华强北路3011号儿童世界华强北总店1楼  114.086376,22.547074   \n",
       "11  华强北路2006号华联发综合楼大厦1-4楼(华强广场酒店斜对面)  114.086253,22.546637   \n",
       "12             华强北路3003号港澳城(华强北路)F1层  114.086257,22.546946   \n",
       "13          华强北国美电器一楼港澳城美食街(周黑鸭往里5米)  114.086234,22.546943   \n",
       "14                           赛格科技园4栋  114.087127,22.546844   \n",
       "15                           赛格科技园4栋  114.087128,22.546846   \n",
       "16               赛格科技园管理处4栋A-B轴20-21  114.087128,22.546846   \n",
       "17                   华强北路赛格科技园4栋西5楼b  114.087128,22.546846   \n",
       "18                  华强北路3002号万商电脑城1层  114.087145,22.546667   \n",
       "19               赛格科技园四栋西万商电脑城二楼A021  114.087147,22.546665   \n",
       "\n",
       "                        tel distance biz_ext importance shopid shopinfo  \\\n",
       "0                        []        7      []         []     []        0   \n",
       "1                        []       24      []         []     []        0   \n",
       "2                        []       24      []         []     []        0   \n",
       "3                        []       30      []         []     []        0   \n",
       "4   18926009676;15217028202       34      []         []     []        1   \n",
       "5               18813981515       34      []         []     []        0   \n",
       "6                        []       36      []         []     []        0   \n",
       "7                4001717917       40      []         []     []        0   \n",
       "8                        []       42      []         []     []        0   \n",
       "9             0755-83249060       42      []         []     []        0   \n",
       "10            0755-82785184       44      []         []     []        0   \n",
       "11                       []       45      []         []     []        0   \n",
       "12  15999668862;18823751900       45      []         []     []        0   \n",
       "13  13418796566;18025331676       47      []         []     []        0   \n",
       "14                       []       48      []         []     []        0   \n",
       "15                       []       48      []         []     []        0   \n",
       "16                       []       48      []         []     []        0   \n",
       "17            0755-83010072       48      []         []     []        0   \n",
       "18            0755-88847123       51      []         []     []        0   \n",
       "19                       []       51      []         []     []        1   \n",
       "\n",
       "   poiweight photos  \n",
       "0         []     []  \n",
       "1         []     []  \n",
       "2         []     []  \n",
       "3         []     []  \n",
       "4         []     []  \n",
       "5         []     []  \n",
       "6         []     []  \n",
       "7         []     []  \n",
       "8         []     []  \n",
       "9         []     []  \n",
       "10        []     []  \n",
       "11        []     []  \n",
       "12        []     []  \n",
       "13        []     []  \n",
       "14        []     []  \n",
       "15        []     []  \n",
       "16        []     []  \n",
       "17        []     []  \n",
       "18        []     []  \n",
       "19        []     []  "
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# D2\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> around函数\n",
    "def around(location,keywords=None,types=None,city=None,sortrule='distance',radius=3000,page=1,offset=20,extensions='base',callback=None)->dict:\n",
    "    \"\"\"周边搜索\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/place/around?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords, #查询关键字\n",
    "        'location':location, #中心点坐标\n",
    "        'types':types, #查询POI类型\n",
    "        'city':city, \n",
    "        'radius':radius,#查询半径\n",
    "        'sortrule':sortrule,#排序规则\n",
    "        'page':page, #当前页数\n",
    "        'offset':offset, #每页记录数据\n",
    "        'extensions':extensions, #返回结果控制 \n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 获取地理编码\n",
    "华强北 = geocode('广东省深圳市福田区华强北')\n",
    "华强北_location = 华强北['geocodes'][0]['location']\n",
    "print(\"华强北_经纬度:\",华强北_location)\n",
    "\n",
    "# 调用around函数\n",
    "# 思考：此功能运用了机器学习、AI中对数据化的智能分析\n",
    "HQB = around(华强北_location,city=\"深圳\")\n",
    "print(HQB)\n",
    "\n",
    "# pandas\n",
    "df_HQB = pd.json_normalize(HQB['pois'])\n",
    "df_HQB"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 多边形搜索\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/search#polygon"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'count': '3', 'info': 'OK', 'infocode': '10000', 'suggestion': {'keywords': [], 'cities': []}, 'pois': [{'id': 'B000A7BM4H', 'parent': 'B0FFF5UV26', 'childtype': '202', 'name': '肯德基(花家地店)', 'type': '餐饮服务;快餐厅;肯德基', 'typecode': '050301', 'biz_type': 'diner', 'address': '花家地小区1号商业楼', 'location': '116.469251,39.985551', 'tel': '010-84726925;010-84726915', 'distance': [], 'biz_ext': [], 'pname': '北京市', 'cityname': '北京市', 'adname': '朝阳区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B0FFKEPXS2', 'parent': [], 'childtype': [], 'name': '肯德基(望京西店)', 'type': '餐饮服务;快餐厅;肯德基', 'typecode': '050301', 'biz_type': 'diner', 'address': '望京西园4区410号综合楼1层', 'location': '116.474027,39.997731', 'tel': '17810627435', 'distance': [], 'biz_ext': [], 'pname': '北京市', 'cityname': '北京市', 'adname': '朝阳区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}, {'id': 'B000A7FVJQ', 'parent': 'B0FFG4VQTD', 'childtype': '202', 'name': '肯德基(中福百货店)', 'type': '餐饮服务;快餐厅;肯德基', 'typecode': '050301', 'biz_type': 'diner', 'address': '望京南湖东园201号楼1层', 'location': '116.463373,40.000423', 'tel': '010-64753306;4008823823;010-64753305', 'distance': [], 'biz_ext': [], 'pname': '北京市', 'cityname': '北京市', 'adname': '朝阳区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'photos': []}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>tel</th>\n",
       "      <th>distance</th>\n",
       "      <th>biz_ext</th>\n",
       "      <th>pname</th>\n",
       "      <th>cityname</th>\n",
       "      <th>adname</th>\n",
       "      <th>importance</th>\n",
       "      <th>shopid</th>\n",
       "      <th>shopinfo</th>\n",
       "      <th>poiweight</th>\n",
       "      <th>photos</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B000A7BM4H</td>\n",
       "      <td>B0FFF5UV26</td>\n",
       "      <td>202</td>\n",
       "      <td>肯德基(花家地店)</td>\n",
       "      <td>餐饮服务;快餐厅;肯德基</td>\n",
       "      <td>050301</td>\n",
       "      <td>diner</td>\n",
       "      <td>花家地小区1号商业楼</td>\n",
       "      <td>116.469251,39.985551</td>\n",
       "      <td>010-84726925;010-84726915</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>北京市</td>\n",
       "      <td>北京市</td>\n",
       "      <td>朝阳区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFKEPXS2</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>肯德基(望京西店)</td>\n",
       "      <td>餐饮服务;快餐厅;肯德基</td>\n",
       "      <td>050301</td>\n",
       "      <td>diner</td>\n",
       "      <td>望京西园4区410号综合楼1层</td>\n",
       "      <td>116.474027,39.997731</td>\n",
       "      <td>17810627435</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>北京市</td>\n",
       "      <td>北京市</td>\n",
       "      <td>朝阳区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B000A7FVJQ</td>\n",
       "      <td>B0FFG4VQTD</td>\n",
       "      <td>202</td>\n",
       "      <td>肯德基(中福百货店)</td>\n",
       "      <td>餐饮服务;快餐厅;肯德基</td>\n",
       "      <td>050301</td>\n",
       "      <td>diner</td>\n",
       "      <td>望京南湖东园201号楼1层</td>\n",
       "      <td>116.463373,40.000423</td>\n",
       "      <td>010-64753306;4008823823;010-64753305</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>北京市</td>\n",
       "      <td>北京市</td>\n",
       "      <td>朝阳区</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id      parent childtype        name          type typecode  \\\n",
       "0  B000A7BM4H  B0FFF5UV26       202   肯德基(花家地店)  餐饮服务;快餐厅;肯德基   050301   \n",
       "1  B0FFKEPXS2          []        []   肯德基(望京西店)  餐饮服务;快餐厅;肯德基   050301   \n",
       "2  B000A7FVJQ  B0FFG4VQTD       202  肯德基(中福百货店)  餐饮服务;快餐厅;肯德基   050301   \n",
       "\n",
       "  biz_type          address              location  \\\n",
       "0    diner       花家地小区1号商业楼  116.469251,39.985551   \n",
       "1    diner  望京西园4区410号综合楼1层  116.474027,39.997731   \n",
       "2    diner    望京南湖东园201号楼1层  116.463373,40.000423   \n",
       "\n",
       "                                    tel distance biz_ext pname cityname  \\\n",
       "0             010-84726925;010-84726915       []      []   北京市      北京市   \n",
       "1                           17810627435       []      []   北京市      北京市   \n",
       "2  010-64753306;4008823823;010-64753305       []      []   北京市      北京市   \n",
       "\n",
       "  adname importance shopid shopinfo poiweight photos  \n",
       "0    朝阳区         []     []        0        []     []  \n",
       "1    朝阳区         []     []        0        []     []  \n",
       "2    朝阳区         []     []        0        []     []  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# D3\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> polygon函数\n",
    "def polygon(types=None,polygon=None,keywords=None,page=1,offset=20,extensions='base',callback=None)->dict:\n",
    "    \"\"\"多边形搜索\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/place/polygon?parameters '\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords, #查询关键字\n",
    "        'types':types, #查询POI类型        \n",
    "        'polygon':polygon,\n",
    "        'page':page, #当前页数\n",
    "        'offset':offset, #每页记录数据\n",
    "        'extensions':extensions, #返回结果控制 \n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用polygon函数\n",
    "# 思考：此功能运用了机器学习、AI中对数据化的智能分析\n",
    "# 注意keywords的位置 函数()里的第三位\n",
    "BJ_肯德基 = polygon('050301','116.460988,40.006919|116.48231,40.007381;116.47516,39.99713|116.472596,39.985227|116.45669,39.984989|116.460988,40.006919',keywords=\"肯德基\")\n",
    "print(BJ_肯德基)\n",
    "\n",
    "# pandas\n",
    "df_kfc = pd.json_normalize(BJ_肯德基['pois'])\n",
    "df_kfc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### ID查询\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/search#id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 109,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'count': '1', 'info': 'OK', 'infocode': '10000', 'pois': [{'id': 'B0FFJ0CX1H', 'parent': [], 'childtype': [], 'tag': [], 'name': '华强北美食街', 'type': '餐饮服务;餐饮相关场所;餐饮相关', 'typecode': '050000', 'biz_type': 'diner', 'address': '中航路与振华路交叉口北50米', 'location': '114.084416,22.544613', 'tel': [], 'postcode': [], 'website': [], 'email': [], 'pcode': '440000', 'pname': '广东省', 'citycode': '0755', 'cityname': '深圳市', 'adcode': '440304', 'adname': '福田区', 'importance': [], 'shopid': [], 'shopinfo': '0', 'poiweight': [], 'gridcode': '3314605612', 'distance': [], 'navi_poiid': [], 'entr_location': '114.084426,22.54437', 'exit_location': [], 'match': '0', 'recommend': '0', 'timestamp': '2020-04-13 15:47:32', 'indoor_map': '0', 'indoor_data': {'cpid': [], 'floor': [], 'truefloor': []}, 'indoor_src': [], 'groupbuy_num': '0', 'business_area': '华强北', 'discount_num': '0', 'biz_ext': {'rating': [], 'cost': [], 'meal_ordering': '0', 'open_time': [], 'opentime2': []}, 'event': [], 'deep_info': {'xmlns:java': 'http://java.sun.com', 'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsi:type': 'java:com.autonavi.apiserver.core.datamodel.base.DeepContent', 'deepsrc': []}, 'rich_content': {'groupbuys': [], 'discounts': []}, 'photos': [], 'children': []}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>parent</th>\n",
       "      <th>childtype</th>\n",
       "      <th>tag</th>\n",
       "      <th>name</th>\n",
       "      <th>type</th>\n",
       "      <th>typecode</th>\n",
       "      <th>biz_type</th>\n",
       "      <th>address</th>\n",
       "      <th>location</th>\n",
       "      <th>...</th>\n",
       "      <th>biz_ext.cost</th>\n",
       "      <th>biz_ext.meal_ordering</th>\n",
       "      <th>biz_ext.open_time</th>\n",
       "      <th>biz_ext.opentime2</th>\n",
       "      <th>deep_info.xmlns:java</th>\n",
       "      <th>deep_info.xmlns:xsi</th>\n",
       "      <th>deep_info.xsi:type</th>\n",
       "      <th>deep_info.deepsrc</th>\n",
       "      <th>rich_content.groupbuys</th>\n",
       "      <th>rich_content.discounts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>B0FFJ0CX1H</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>华强北美食街</td>\n",
       "      <td>餐饮服务;餐饮相关场所;餐饮相关</td>\n",
       "      <td>050000</td>\n",
       "      <td>diner</td>\n",
       "      <td>中航路与振华路交叉口北50米</td>\n",
       "      <td>114.084416,22.544613</td>\n",
       "      <td>...</td>\n",
       "      <td>[]</td>\n",
       "      <td>0</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>http://java.sun.com</td>\n",
       "      <td>http://www.w3.org/2001/XMLSchema-instance</td>\n",
       "      <td>java:com.autonavi.apiserver.core.datamodel.bas...</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 54 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           id parent childtype tag    name              type typecode  \\\n",
       "0  B0FFJ0CX1H     []        []  []  华强北美食街  餐饮服务;餐饮相关场所;餐饮相关   050000   \n",
       "\n",
       "  biz_type         address              location  ... biz_ext.cost  \\\n",
       "0    diner  中航路与振华路交叉口北50米  114.084416,22.544613  ...           []   \n",
       "\n",
       "  biz_ext.meal_ordering biz_ext.open_time biz_ext.opentime2  \\\n",
       "0                     0                []                []   \n",
       "\n",
       "  deep_info.xmlns:java                        deep_info.xmlns:xsi  \\\n",
       "0  http://java.sun.com  http://www.w3.org/2001/XMLSchema-instance   \n",
       "\n",
       "                                  deep_info.xsi:type deep_info.deepsrc  \\\n",
       "0  java:com.autonavi.apiserver.core.datamodel.bas...                []   \n",
       "\n",
       "  rich_content.groupbuys rich_content.discounts  \n",
       "0                     []                     []  \n",
       "\n",
       "[1 rows x 54 columns]"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# D4\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> detail函数\n",
    "def detail(id,sig=None,callback=None)->dict:\n",
    "    \"\"\"ID查询\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/place/detail?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'id':id, #兴趣点ID\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用around函数\n",
    "# 思考：此功能运用了机器学习、AI中对数据化的智能分析\n",
    "# 注：id为前面关键字搜索结果里取的id\n",
    "华强北美食街 = detail(id='B0FFJ0CX1H')\n",
    "print(华强北美食街)\n",
    "\n",
    "# pandas\n",
    "df_华强北美食街 = pd.json_normalize(华强北美食街['pois'])\n",
    "df_华强北美食街"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑤ IP定位\n",
    "\n",
    "IP定位是一个简单的HTTP接口，根据用户输入的IP地址，能够快速的帮用户定位IP的所在位置。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/ipconfig"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'OK',\n",
       " 'infocode': '10000',\n",
       " 'province': '北京市',\n",
       " 'city': '北京市',\n",
       " 'adcode': '110000',\n",
       " 'rectangle': '116.0119343,39.66127144;116.7829835,40.2164962'}"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# E1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> ip函数\n",
    "def ip(ip=None,sig=None)->dict:\n",
    "    \"\"\"ip定位\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url='https://restapi.amap.com/v3/ip?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'ip':ip, #ip地址(仅支持国内)\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用ip函数\n",
    "# 思考：此功能运用了机器学习\n",
    "user = ip('114.247.50.2')\n",
    "user"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑥ 批量请求接口\n",
    "\n",
    "批量接口通过用户传入合并后的请求，同时返回多个请求的顺序集合，目前最多支持20个子请求。 返回的顺序与子请求的顺序一致。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/batchrequest"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[{'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '888',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKKSDDS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.511528,39.270463',\n",
       "     'distance': '1082',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '李庄子村兰阳草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJM772Z',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.513958,39.270648',\n",
       "     'distance': '1205',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永清镇北辛溜附近',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080503',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C16BMA',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.480285,39.291357',\n",
       "     'distance': '2509',\n",
       "     'tel': '13363650160',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永金一桥东500米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/3e517731940c4684ee94acdfb8c39b26',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/8eb4c3eb92489cb32cafa17205dc0112',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/163f3273c7c60016197a2e7912df53df',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;采摘园',\n",
       "     'shopinfo': '0',\n",
       "     'name': '开心草莓采摘园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080501',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLPYFW5',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496816,39.302615',\n",
       "     'distance': '2785',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路225东北100米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;游乐场',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'DIY儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080603',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLAIP6H',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496230,39.303248',\n",
       "     'distance': '2865',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'seat_ordering': '0', 'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;影剧院;剧场',\n",
       "     'shopinfo': '0',\n",
       "     'name': '向阳禾理想城梦剧场',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013C0IMLS',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.496593,39.304251',\n",
       "     'distance': '2967',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': '3.5', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路179号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/af47a5f4f741f6a3ad170e226f856b92',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '梦想网吧(益昌南路店)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMDQ6D7',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.493187,39.304274',\n",
       "     'distance': '3045',\n",
       "     'tel': '13141201944',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '武隆南路宏益街',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/0fb1662d06ad761b51070fe0ca4c26c5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '1',\n",
       "     'name': '龙圣跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJQZNZW',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497741,39.309459',\n",
       "     'distance': '3519',\n",
       "     'tel': '15210485655',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌南路268号新旺小区门口',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/67416ad37c69db61c270016fa6f430cc',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/d89fd2e7d4b62cba6187c87cc838bb89',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dbaae4d6ace1004675ce4f252088ffe6',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '熙瑞国际游泳健身会所',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM4EHTE',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.495838,39.309940',\n",
       "     'distance': '3600',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': 'K9台球',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080308',\n",
       "     'adname': '永清县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFJKVFLQ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '116.497249,39.310649',\n",
       "     'distance': '3656',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '益昌中路与益昌南路交叉口西南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '廊坊市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;娱乐场所;网吧',\n",
       "     'shopinfo': '0',\n",
       "     'name': '网咖',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011137152178158764810171800020735681861',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.127',\n",
       "   'Content-Length': 5294,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}},\n",
       " {'status': 200,\n",
       "  'body': {'suggestion': {'keywords': {}, 'cities': {}},\n",
       "   'info': 'OK',\n",
       "   'status': '1',\n",
       "   'count': '876',\n",
       "   'pois': [{'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFIT4V37',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.509300,39.261324',\n",
       "     'distance': '1935',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '昌丰路与昌盛街交叉口东150米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '利民老年公寓',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFM1WN4Q',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.473800,39.284305',\n",
       "     'distance': '2684',\n",
       "     'tel': '13102692203;15032998415',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '永丰路与建设大街交叉口北行200米再东行200米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/02f9a9353f15bb7c882c281addaca79a',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/462da2324343c04c255e5b6b55403952',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/dfc87db906b2994dae80342d4563b1e9',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '1',\n",
       "     'name': '唐山兵途枪战运动',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080301',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFF2T193',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471098,39.281979',\n",
       "     'distance': '2861',\n",
       "     'tel': '0315-8037777',\n",
       "     'biz_ext': {'rating': '4.3', 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街与永丰路交叉口西南角',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/c8fd0a18befbe849ce8df7908d88ed24',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/468baaf5453e6c1b38d0c4c417183b40',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/a0a5fff0b63e60b3508c2ecb197d07e5',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;夜总会',\n",
       "     'shopinfo': '0',\n",
       "     'name': '一代佳人夜总会',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFKPS8TZ',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.471344,39.273170',\n",
       "     'distance': '2864',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街与永丰路交叉口南50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '新少年跆拳道馆',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080402',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B013B031EO',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.469256,39.278622',\n",
       "     'distance': '2989',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '曙光街23号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;度假疗养场所;疗养院',\n",
       "     'shopinfo': '0',\n",
       "     'name': '光荣院(曙光街)',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080500',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFHF91Y9',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.467429,39.273141',\n",
       "     'distance': '3196',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '垦丰大街8号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;休闲场所;休闲场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '曹妃甸区老干部活动中心',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080119',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLDK6TP',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466867,39.281969',\n",
       "     'distance': '3222',\n",
       "     'tel': '17736580504',\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '建设大街红赫世家东底商58号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/b59e23956de23e47401416a6b4808c0c',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;运动场馆;跆拳道场馆',\n",
       "     'shopinfo': '0',\n",
       "     'name': '泽仁跆拳道',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080000',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFH9MB8R',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.527757,39.301926',\n",
       "     'distance': '3343',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '杨柏线北50米',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;体育休闲服务场所;体育休闲服务场所',\n",
       "     'shopinfo': '0',\n",
       "     'name': '陶乐宝儿童乐园',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080304',\n",
       "     'adname': '曹妃甸区',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFLOR4DN',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.466494,39.287701',\n",
       "     'distance': '3395',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': '青年城二期东底商24号',\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': [{'url': 'http://store.is.autonavi.com/showpic/29997dd7b0c66b1dc6f15a253918ccf2',\n",
       "       'title': {},\n",
       "       'provider': {}},\n",
       "      {'url': 'http://store.is.autonavi.com/showpic/098df33a76f03e8d55672683f63da5d8',\n",
       "       'title': {},\n",
       "       'provider': {}}],\n",
       "     'type': '体育休闲服务;娱乐场所;酒吧',\n",
       "     'shopinfo': '1',\n",
       "     'name': 'ELK酒吧',\n",
       "     'childtype': {}},\n",
       "    {'typecode': '080113',\n",
       "     'adname': '滦南县',\n",
       "     'biz_type': {},\n",
       "     'id': 'B0FFMB6BAG',\n",
       "     'pname': '河北省',\n",
       "     'importance': {},\n",
       "     'parent': {},\n",
       "     'location': '118.528670,39.302678',\n",
       "     'distance': '3457',\n",
       "     'tel': {},\n",
       "     'biz_ext': {'rating': {}, 'cost': {}},\n",
       "     'shopid': {},\n",
       "     'address': {},\n",
       "     'poiweight': {},\n",
       "     'cityname': '唐山市',\n",
       "     'photos': {},\n",
       "     'type': '体育休闲服务;运动场馆;台球厅',\n",
       "     'shopinfo': '0',\n",
       "     'name': '下午时光台球俱乐部',\n",
       "     'childtype': {}}],\n",
       "   'infocode': '10000'},\n",
       "  'header': {'gsid': '011137152178158764810171800020735681861',\n",
       "   'Vary': 'Accept-Encoding',\n",
       "   'Content-Type': 'application/json;charset=UTF-8',\n",
       "   'Access-Control-Allow-Methods': '*',\n",
       "   'Access-Control-Allow-Origin': '*',\n",
       "   'sc': '0.125',\n",
       "   'Content-Length': 5564,\n",
       "   'Access-Control-Allow-Headers': 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,key,x-biz,x-info,platinfo,encr,enginever,gzipped,poiid',\n",
       "   'X-Powered-By': 'ring/1.0.0'}}]"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# F1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> batch函数\n",
    "def batch()->dict:\n",
    "    \"\"\"批量接口通过用户传入合并后的请求，同时返回多个请求的顺序集合\"\"\"\n",
    "    url='https://restapi.amap.com/v3/batch'\n",
    "    headers = {'Content-Type': 'application/json'}\n",
    "    body= {\n",
    "    \"ops\": [\n",
    "        {\n",
    "            \"url\": \"/v3/place/around?offset=10&page=1&key=2b47fd7c423e26aba4c1fd15e64adceb&location=116.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "        },\n",
    "        {\n",
    "            \"url\": \"/v3/place/around?offset=10&page=1&key=2b47fd7c423e26aba4c1fd15e64adceb&location=118.50394379585519,39.278209477408794&output=json&radius=100000&types=080000\"\n",
    "        }\n",
    "    ]\n",
    "}\n",
    "    params={\n",
    "        'key':key,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.post(url,json=body,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用batch函数\n",
    "# 思考：此功能运用了机器学习、可能运用AI中可一次批量返回多个请求\n",
    "user = batch()\n",
    "user"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑦ 静态地图\n",
    "\n",
    "静态地图服务通过返回一张地图图片响应HTTP请求，使用户能够将高德地图以图片形式嵌入自己的网页中。用户可以指定请求的地图位置、图片大小、以及在地图上添加覆盖物，如标签、标注、折线、多边形。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/staticmaps"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<PIL.PngImagePlugin.PngImageFile image mode=P size=400x400 at 0x22C537DD668>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# G1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "from PIL import Image\n",
    "from io import BytesIO\n",
    "\n",
    "# 封装--> staticmap函数\n",
    "def staticmap(location,zoom=None,size=None,scale=1,markers=None,labels=None,paths=None,traffic=0,page=None,sig=None)->dict:\n",
    "    \"\"\"获取静态地图\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/staticmap?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'location':location,\n",
    "        'zoom':zoom, #地图缩放级别:[1,17]\n",
    "        'size':size, #地图大小\n",
    "        'scale':scale, #普通/高清\n",
    "        'markers':markers, #标注\n",
    "        'labels':labels, #标签\n",
    "        'paths':paths, #折线\n",
    "        'traffic':traffic, #交通路况标识\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = Image.open(BytesIO(response.content))\n",
    "    return data\n",
    "\n",
    "# 调用staticmap函数\n",
    "# 思考：此功能运用了机器学习、AI地图影像\n",
    "华强北 = staticmap(location=华强北_location,zoom=13)\n",
    "华强北"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑧ 坐标转换\n",
    "\n",
    "坐标转换是一类简单的HTTP接口，能够将用户输入的非高德坐标（GPS坐标、mapbar坐标、baidu坐标）转换成高德坐标。\n",
    "\n",
    "- API文档：https://lbs.amap.com/api/webservice/guide/api/convert"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'status': '1',\n",
       " 'info': 'ok',\n",
       " 'infocode': '10000',\n",
       " 'locations': '116.487585177952,39.991754014757;116.487585177952,39.991653917101'}"
      ]
     },
     "execution_count": 125,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# H1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> convert函数\n",
    "def convert(locations,coordsys='autonavi',sig=None)->dict:\n",
    "    \"\"\"将非高德坐标转换为高德坐标\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/assistant/coordinate/convert?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'locations':locations,\n",
    "        'coordsys':coordsys, #原坐标系：可选值：gps、mapbar、baidu、autonavi(不进行转换)\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用convert函数\n",
    "# 思考：此功能运用了机器学习、AI识别不同平台地图坐标\n",
    "convert('116.481499,39.990475|116.481499,39.990375',coordsys='gps')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑨ 天气查询\n",
    "\n",
    "天气查询是一个简单的HTTP接口，根据用户输入的adcode，查询目标区域当前/未来的天气情况。\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/weatherinfo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'count': '1', 'info': 'OK', 'infocode': '10000', 'forecasts': [{'city': '南山区', 'adcode': '440305', 'province': '广东', 'reporttime': '2020-04-22 18:22:36', 'casts': [{'date': '2020-04-22', 'week': '3', 'dayweather': '阴', 'nightweather': '阵雨', 'daytemp': '24', 'nighttemp': '18', 'daywind': '东', 'nightwind': '东', 'daypower': '4', 'nightpower': '4'}, {'date': '2020-04-23', 'week': '4', 'dayweather': '中雨', 'nightweather': '阵雨', 'daytemp': '22', 'nighttemp': '17', 'daywind': '无风向', 'nightwind': '无风向', 'daypower': '≤3', 'nightpower': '≤3'}, {'date': '2020-04-24', 'week': '5', 'dayweather': '阵雨', 'nightweather': '阴', 'daytemp': '18', 'nighttemp': '16', 'daywind': '东北', 'nightwind': '东北', 'daypower': '4', 'nightpower': '4'}, {'date': '2020-04-25', 'week': '6', 'dayweather': '阴', 'nightweather': '阴', 'daytemp': '23', 'nighttemp': '17', 'daywind': '无风向', 'nightwind': '无风向', 'daypower': '≤3', 'nightpower': '≤3'}]}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>city</th>\n",
       "      <th>adcode</th>\n",
       "      <th>province</th>\n",
       "      <th>reporttime</th>\n",
       "      <th>casts</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>南山区</td>\n",
       "      <td>440305</td>\n",
       "      <td>广东</td>\n",
       "      <td>2020-04-22 18:22:36</td>\n",
       "      <td>[{'date': '2020-04-22', 'week': '3', 'dayweath...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  city  adcode province           reporttime  \\\n",
       "0  南山区  440305       广东  2020-04-22 18:22:36   \n",
       "\n",
       "                                               casts  \n",
       "0  [{'date': '2020-04-22', 'week': '3', 'dayweath...  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>week</th>\n",
       "      <th>dayweather</th>\n",
       "      <th>nightweather</th>\n",
       "      <th>daytemp</th>\n",
       "      <th>nighttemp</th>\n",
       "      <th>daywind</th>\n",
       "      <th>nightwind</th>\n",
       "      <th>daypower</th>\n",
       "      <th>nightpower</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2020-04-22</td>\n",
       "      <td>3</td>\n",
       "      <td>阴</td>\n",
       "      <td>阵雨</td>\n",
       "      <td>24</td>\n",
       "      <td>18</td>\n",
       "      <td>东</td>\n",
       "      <td>东</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2020-04-23</td>\n",
       "      <td>4</td>\n",
       "      <td>中雨</td>\n",
       "      <td>阵雨</td>\n",
       "      <td>22</td>\n",
       "      <td>17</td>\n",
       "      <td>无风向</td>\n",
       "      <td>无风向</td>\n",
       "      <td>≤3</td>\n",
       "      <td>≤3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2020-04-24</td>\n",
       "      <td>5</td>\n",
       "      <td>阵雨</td>\n",
       "      <td>阴</td>\n",
       "      <td>18</td>\n",
       "      <td>16</td>\n",
       "      <td>东北</td>\n",
       "      <td>东北</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2020-04-25</td>\n",
       "      <td>6</td>\n",
       "      <td>阴</td>\n",
       "      <td>阴</td>\n",
       "      <td>23</td>\n",
       "      <td>17</td>\n",
       "      <td>无风向</td>\n",
       "      <td>无风向</td>\n",
       "      <td>≤3</td>\n",
       "      <td>≤3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         date week dayweather nightweather daytemp nighttemp daywind  \\\n",
       "0  2020-04-22    3          阴           阵雨      24        18       东   \n",
       "1  2020-04-23    4         中雨           阵雨      22        17     无风向   \n",
       "2  2020-04-24    5         阵雨            阴      18        16      东北   \n",
       "3  2020-04-25    6          阴            阴      23        17     无风向   \n",
       "\n",
       "  nightwind daypower nightpower  \n",
       "0         东        4          4  \n",
       "1       无风向       ≤3         ≤3  \n",
       "2        东北        4          4  \n",
       "3       无风向       ≤3         ≤3  "
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# I1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> weatherInfo函数\n",
    "def weatherInfo(city,extensions=None)->dict:\n",
    "    \"\"\"查询目标区域当前/未来的天气情况\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/weather/weatherInfo?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'city':city, #城市编码(需在文档下载)\n",
    "        'extensions':extensions, #气象类型 base:返回实况天气 all:返回预报天气\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用weatherInfo函数\n",
    "# 思考：此功能运用了机器学习、可能运用到AI中智能语音助理里放入天气播报\n",
    "weather_sz = weatherInfo(city='440305',extensions='all')\n",
    "print(weather_sz)\n",
    "\n",
    "# pandas\n",
    "df_weatherInfo_1 = pd.json_normalize(weather_sz['forecasts'])\n",
    "df_weatherInfo_2 = pd.json_normalize(weather_sz['forecasts'][0]['casts'])\n",
    "display(df_weatherInfo_1,df_weatherInfo_2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑩ 输入提示\n",
    "\n",
    "输入提示是一类简单的HTTP接口，提供根据用户输入的关键词查询返回建议列表。\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/inputtips"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'count': '10', 'info': 'OK', 'infocode': '10000', 'tips': [{'id': [], 'name': 'kfc', 'district': [], 'adcode': [], 'location': [], 'address': [], 'typecode': [], 'city': []}, {'id': 'B0FFF5V4SC', 'name': '肯德基(华强店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.086323,22.544747', 'address': '华强北路2001号深纺大厦A座1-4层', 'typecode': '050301', 'city': []}, {'id': 'B02F37ULDZ', 'name': '肯德基(群星广场店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.088971,22.548443', 'address': '红荔路38号群星广场C座1层', 'typecode': '050301', 'city': []}, {'id': 'B02F38J28N', 'name': '肯德基(华强广场店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.086237,22.543457', 'address': '华强北路1019号华强广场B1层', 'typecode': '050301', 'city': []}, {'id': 'B0FFIIO83T', 'name': '肯德基(中电店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.088124,22.541661', 'address': '深南中路中电广场大厦一层D-F1-N002号', 'typecode': '050301', 'city': []}, {'id': 'B02F37ULD2', 'name': '肯德基(华强东店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.093229,22.544746', 'address': '燕南路88号中泰燕南名庭二期1-2层', 'typecode': '050301', 'city': []}, {'id': 'B0FFFOGHSN', 'name': '肯德基(上步店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.086978,22.539721', 'address': '华强南路3052号(华强南路与深南中路交汇处)', 'typecode': '050301', 'city': []}, {'id': 'B02F305HMA', 'name': '肯德基(华海店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.083384,22.537756', 'address': '福华路86号华海大厦1层', 'typecode': '050301', 'city': []}, {'id': 'B0FFF3ZG30', 'name': '肯德基(彩德城店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.069539,22.543666', 'address': '彩田路3030号彩德城1层', 'typecode': '050301', 'city': []}, {'id': 'B02F306N99', 'name': '肯德基(东园店)', 'district': '广东省深圳市福田区', 'adcode': '440304', 'location': '114.103203,22.537293', 'address': '东园路41号台湾花园1层东', 'typecode': '050301', 'city': []}]}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>name</th>\n",
       "      <th>district</th>\n",
       "      <th>adcode</th>\n",
       "      <th>location</th>\n",
       "      <th>address</th>\n",
       "      <th>typecode</th>\n",
       "      <th>city</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[]</td>\n",
       "      <td>kfc</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>B0FFF5V4SC</td>\n",
       "      <td>肯德基(华强店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.086323,22.544747</td>\n",
       "      <td>华强北路2001号深纺大厦A座1-4层</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>B02F37ULDZ</td>\n",
       "      <td>肯德基(群星广场店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.088971,22.548443</td>\n",
       "      <td>红荔路38号群星广场C座1层</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>B02F38J28N</td>\n",
       "      <td>肯德基(华强广场店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.086237,22.543457</td>\n",
       "      <td>华强北路1019号华强广场B1层</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>B0FFIIO83T</td>\n",
       "      <td>肯德基(中电店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.088124,22.541661</td>\n",
       "      <td>深南中路中电广场大厦一层D-F1-N002号</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>B02F37ULD2</td>\n",
       "      <td>肯德基(华强东店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.093229,22.544746</td>\n",
       "      <td>燕南路88号中泰燕南名庭二期1-2层</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>B0FFFOGHSN</td>\n",
       "      <td>肯德基(上步店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.086978,22.539721</td>\n",
       "      <td>华强南路3052号(华强南路与深南中路交汇处)</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>B02F305HMA</td>\n",
       "      <td>肯德基(华海店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.083384,22.537756</td>\n",
       "      <td>福华路86号华海大厦1层</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>B0FFF3ZG30</td>\n",
       "      <td>肯德基(彩德城店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.069539,22.543666</td>\n",
       "      <td>彩田路3030号彩德城1层</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>B02F306N99</td>\n",
       "      <td>肯德基(东园店)</td>\n",
       "      <td>广东省深圳市福田区</td>\n",
       "      <td>440304</td>\n",
       "      <td>114.103203,22.537293</td>\n",
       "      <td>东园路41号台湾花园1层东</td>\n",
       "      <td>050301</td>\n",
       "      <td>[]</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id        name   district  adcode              location  \\\n",
       "0          []         kfc         []      []                    []   \n",
       "1  B0FFF5V4SC    肯德基(华强店)  广东省深圳市福田区  440304  114.086323,22.544747   \n",
       "2  B02F37ULDZ  肯德基(群星广场店)  广东省深圳市福田区  440304  114.088971,22.548443   \n",
       "3  B02F38J28N  肯德基(华强广场店)  广东省深圳市福田区  440304  114.086237,22.543457   \n",
       "4  B0FFIIO83T    肯德基(中电店)  广东省深圳市福田区  440304  114.088124,22.541661   \n",
       "5  B02F37ULD2   肯德基(华强东店)  广东省深圳市福田区  440304  114.093229,22.544746   \n",
       "6  B0FFFOGHSN    肯德基(上步店)  广东省深圳市福田区  440304  114.086978,22.539721   \n",
       "7  B02F305HMA    肯德基(华海店)  广东省深圳市福田区  440304  114.083384,22.537756   \n",
       "8  B0FFF3ZG30   肯德基(彩德城店)  广东省深圳市福田区  440304  114.069539,22.543666   \n",
       "9  B02F306N99    肯德基(东园店)  广东省深圳市福田区  440304  114.103203,22.537293   \n",
       "\n",
       "                   address typecode city  \n",
       "0                       []       []   []  \n",
       "1      华强北路2001号深纺大厦A座1-4层   050301   []  \n",
       "2           红荔路38号群星广场C座1层   050301   []  \n",
       "3         华强北路1019号华强广场B1层   050301   []  \n",
       "4   深南中路中电广场大厦一层D-F1-N002号   050301   []  \n",
       "5       燕南路88号中泰燕南名庭二期1-2层   050301   []  \n",
       "6  华强南路3052号(华强南路与深南中路交汇处)   050301   []  \n",
       "7             福华路86号华海大厦1层   050301   []  \n",
       "8            彩田路3030号彩德城1层   050301   []  \n",
       "9            东园路41号台湾花园1层东   050301   []  "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# J1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> inputtips函数\n",
    "def inputtips(keywords,type=None,location=None,city=None,citylimit='false',datatype='all',callback=None,sig=None)->dict:\n",
    "    \"\"\"根据用户输入的关键词查询返回建议列表\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/assistant/inputtips?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'keywords':keywords,\n",
    "        'type':type, #POI分类 (需在文档下载)\n",
    "        'location':location, #坐标\n",
    "        'city':city, #搜索城市\n",
    "        'citylimit':citylimit, #仅返回指定城市数据\n",
    "        'datatype':datatype, #返回的数据类型 all-返回所有数据类型、poi-返回POI数据类型、bus-返回公交站点数据类型、busline-返回公交线路数据类型\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用inputtips函数\n",
    "# 思考：此功能运用了机器学习、可能运用到搜索引擎里AI来推荐相关信息\n",
    "# 坑：注意keywords的位置 函数()里的位置是第一位\n",
    "kfc_HQB = inputtips(\"kfc\",'050301',华强北_location,city='440305',datatype='all')\n",
    "print(kfc_HQB)\n",
    "\n",
    "# pandas\n",
    "df_kfc_HQB = pd.json_normalize(kfc_HQB['tips'])\n",
    "df_kfc_HQB"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑪ 交通态势\n",
    "\n",
    "交通态势是一类简单的HTTP接口，提供根据用户输入的内容能够返回希望查询的交通态势情况。\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/trafficstatus"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 矩形区域交通态势\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/trafficstatus#rectangle"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'trafficinfo': {'description': '北三环路：从太阳宫桥到苏州桥畅通。', 'evaluation': {'expedite': '100.00%', 'congested': '0.00%', 'blocked': '0.00%', 'unknown': '0.00%', 'status': '1', 'description': '整体畅通'}}}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>info</th>\n",
       "      <th>infocode</th>\n",
       "      <th>trafficinfo.description</th>\n",
       "      <th>trafficinfo.evaluation.expedite</th>\n",
       "      <th>trafficinfo.evaluation.congested</th>\n",
       "      <th>trafficinfo.evaluation.blocked</th>\n",
       "      <th>trafficinfo.evaluation.unknown</th>\n",
       "      <th>trafficinfo.evaluation.status</th>\n",
       "      <th>trafficinfo.evaluation.description</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>OK</td>\n",
       "      <td>10000</td>\n",
       "      <td>北三环路：从太阳宫桥到苏州桥畅通。</td>\n",
       "      <td>100.00%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>1</td>\n",
       "      <td>整体畅通</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  status info infocode trafficinfo.description  \\\n",
       "0      1   OK    10000       北三环路：从太阳宫桥到苏州桥畅通。   \n",
       "\n",
       "  trafficinfo.evaluation.expedite trafficinfo.evaluation.congested  \\\n",
       "0                         100.00%                            0.00%   \n",
       "\n",
       "  trafficinfo.evaluation.blocked trafficinfo.evaluation.unknown  \\\n",
       "0                          0.00%                          0.00%   \n",
       "\n",
       "  trafficinfo.evaluation.status trafficinfo.evaluation.description  \n",
       "0                             1                               整体畅通  "
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# K1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> rectangle函数\n",
    "def rectangle(rectangle,level=5,extensions='base',callback=None,sig=None)->dict:\n",
    "    \"\"\"根据用户输入的内容能够返回希望查询的交通态势情况\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/rectangle?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'rectangle':rectangle, #代表此为矩形区域查询\n",
    "        'extensions':extensions,\n",
    "        'level':level, #道路等级\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用rectangle函数\n",
    "# 思考：此功能运用了机器学习、可能运用AI中城市公路系统、三唯视觉技术\n",
    "# 注：左下右上顶点坐标对。矩形对角线不能超过10公里。 两个坐标对之间用”;”间隔、xy之间用”,”间隔\n",
    "北三环路 = rectangle('116.351147,39.966309;116.357134,39.968727')\n",
    "print(北三环路)\n",
    "\n",
    "# pandas\n",
    "df_北三环路 = pd.json_normalize(北三环路)\n",
    "df_北三环路"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 圆形区域交通态势\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/trafficstatus#circle"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'trafficinfo': {'description': '善缘街：自北向南缓慢，反向畅通，中钢国际广场附近自南向北严重拥堵；丹棱街：自西向东畅通，反向缓慢；彩和坊路：天创科技大厦附近自北向南行驶缓慢。', 'evaluation': {'expedite': '93.33%', 'congested': '5.00%', 'blocked': '1.67%', 'unknown': '0.00%', 'status': '2', 'description': '轻度拥堵'}}}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>description</th>\n",
       "      <th>evaluation.expedite</th>\n",
       "      <th>evaluation.congested</th>\n",
       "      <th>evaluation.blocked</th>\n",
       "      <th>evaluation.unknown</th>\n",
       "      <th>evaluation.status</th>\n",
       "      <th>evaluation.description</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>善缘街：自北向南缓慢，反向畅通，中钢国际广场附近自南向北严重拥堵；丹棱街：自西向东畅通，反向...</td>\n",
       "      <td>93.33%</td>\n",
       "      <td>5.00%</td>\n",
       "      <td>1.67%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>2</td>\n",
       "      <td>轻度拥堵</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                         description evaluation.expedite  \\\n",
       "0  善缘街：自北向南缓慢，反向畅通，中钢国际广场附近自南向北严重拥堵；丹棱街：自西向东畅通，反向...              93.33%   \n",
       "\n",
       "  evaluation.congested evaluation.blocked evaluation.unknown  \\\n",
       "0                5.00%              1.67%              0.00%   \n",
       "\n",
       "  evaluation.status evaluation.description  \n",
       "0                 2                   轻度拥堵  "
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# K2\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> circle函数\n",
    "def circle(location,radius=1000,level=5,extensions='base',callback=None,sig=None)->dict:\n",
    "    \"\"\"根据用户输入的内容能够返回希望查询的交通态势情况\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/circle?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'location':location, #中心点坐标\n",
    "        'radius':radius,#半径 (米)\n",
    "        'extensions':extensions,\n",
    "        'level':level, #道路等级\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用circle函数\n",
    "# 思考：此功能运用了机器学习、可能运用AI中城市公路系统、三唯视觉技术\n",
    "北三环路 = circle(location='116.3057764,39.98641364',radius='1500')\n",
    "print(北三环路)\n",
    "\n",
    "# pandas\n",
    "df_北三环路 = pd.json_normalize(北三环路['trafficinfo'])\n",
    "df_北三环路"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 指定线路交通态势\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/trafficstatus#road"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'status': '1', 'info': 'OK', 'infocode': '10000', 'trafficinfo': {'description': '深南大道：双向畅通。', 'evaluation': {'expedite': '92.24%', 'congested': '6.77%', 'blocked': '0.99%', 'unknown': '0.00%', 'status': '2', 'description': '基本畅通'}}}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>status</th>\n",
       "      <th>info</th>\n",
       "      <th>infocode</th>\n",
       "      <th>trafficinfo.description</th>\n",
       "      <th>trafficinfo.evaluation.expedite</th>\n",
       "      <th>trafficinfo.evaluation.congested</th>\n",
       "      <th>trafficinfo.evaluation.blocked</th>\n",
       "      <th>trafficinfo.evaluation.unknown</th>\n",
       "      <th>trafficinfo.evaluation.status</th>\n",
       "      <th>trafficinfo.evaluation.description</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>OK</td>\n",
       "      <td>10000</td>\n",
       "      <td>深南大道：双向畅通。</td>\n",
       "      <td>92.24%</td>\n",
       "      <td>6.77%</td>\n",
       "      <td>0.99%</td>\n",
       "      <td>0.00%</td>\n",
       "      <td>2</td>\n",
       "      <td>基本畅通</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  status info infocode trafficinfo.description  \\\n",
       "0      1   OK    10000              深南大道：双向畅通。   \n",
       "\n",
       "  trafficinfo.evaluation.expedite trafficinfo.evaluation.congested  \\\n",
       "0                          92.24%                            6.77%   \n",
       "\n",
       "  trafficinfo.evaluation.blocked trafficinfo.evaluation.unknown  \\\n",
       "0                          0.99%                          0.00%   \n",
       "\n",
       "  trafficinfo.evaluation.status trafficinfo.evaluation.description  \n",
       "0                             2                               基本畅通  "
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# K3\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> road函数\n",
    "def road(name,city=None,adcode=None,level=5,extensions='base',callback=None,sig=None)->dict:\n",
    "    \"\"\"根据用户输入的内容能够返回希望查询的交通态势情况\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v3/traffic/status/road?parameters'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'name':name, #道路名\n",
    "        'city':city, #城市名\n",
    "        'adcode':adcode, #城市编码\n",
    "        'extensions':extensions,\n",
    "        'level':level, #道路等级\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用road函数\n",
    "# 思考：此功能运用了机器学习、可能运用AI中城市公路系统、三唯视觉技术\n",
    "# 由于开发者可能对城市称呼和高德的称呼存在差异\n",
    "#（例如开发者称呼为深圳，但高德仅识别深圳市）\n",
    "# 故强烈建议使用adcode，不使用city字段\n",
    "# 另外此处的adcode仅识别市级的adcode\n",
    "深南大道 = road(name=\"深南大道\",city=\"深圳市\")\n",
    "print(深南大道)\n",
    "\n",
    "# pandas\n",
    "df_深南大道 = pd.json_normalize(深南大道)\n",
    "df_深南大道"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑫ 地理围栏\n",
    "\n",
    "地理围栏服务是一类HTTP接口，提供在服务端，增删改查地理围栏的功能，同时支持对于设备与围栏关系进行监控。\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/geofence_service"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 创建围栏\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/geofence_service#t5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 234,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "200\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'data': {'gid': '89613f1e-7297-4c89-b46c-de6a880f821e',\n",
       "  'id': '0',\n",
       "  'message': '成功',\n",
       "  'status': '0'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 234,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# L1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> create函数\n",
    "def create()->dict:\n",
    "    \"\"\"创建地理围栏,获取gid\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v4/geofence/meta'\n",
    "    # 请求主体\n",
    "    body = {\n",
    "        \"name\": \"测试围栏名称\",\n",
    "        \"center\": \"115.672126,38.817129\",\n",
    "        \"radius\": \"2100\",\n",
    "        \"enable\": \"true\",\n",
    "        \"valid_time\": \"2022-04-19\",\n",
    "        \"repeat\": \"Mon,Tues,Wed,Thur,Fri,Sat,Sun\",\n",
    "        \"time\": \"00:00,11:59;13:00,20:59\",\n",
    "        \"desc\": \"测试围栏描述\",\n",
    "        \"alert_condition\": \"enter;leave\"\n",
    "    }\n",
    "    # 请求参数\n",
    "    params = {\n",
    "        'key':key,\n",
    "        'output':'json'\n",
    "    }\n",
    "    r = requests.post(url,json=body,params=params)\n",
    "    print(r.status_code)\n",
    "    data = r.json()\n",
    "    return data\n",
    "\n",
    "# 调用函数\n",
    "# 思考：此功能运用了机器学习、可能运用到AI：当游客或者骑友定位地址进入到对应的景点的地理围栏里面，则播报景点相关的报道语音。\n",
    "create_geofence = create()\n",
    "create_geofence\n",
    "\n",
    "# 坑：post方法需在函数中加body并把请求的参数放进去\n",
    "# 注：不能二次运行，否则gid不会再生成新的"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 查询围栏\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/geofence_service#t6"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 237,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'data': {'page_no': 1, 'page_size': 20, 'rs_list': [{'adcode': '0', 'alert_condition': 'enter;leave', 'center': '115.672126,38.817129', 'create_time': '2020-04-22 23:17:00', 'enable': True, 'fixed_date': '', 'gid': '4bfddd6d-bc6e-4f01-a9b2-eed3060c48d4', 'id': '0', 'key': '2b47fd7c423e26aba4c1fd15e64adceb', 'name': '测试围栏名称', 'points': '', 'radius': 1000.0, 'repeat': 'Mon,Tues,Wed,Thur,Fri,Sat,Sun', 'time': '00:00,11:59;13:00,20:59', 'valid_time': '2022-05-19'}, {'adcode': '0', 'alert_condition': 'enter;leave', 'center': '115.672126,38.817129', 'create_time': '2020-04-22 23:29:28', 'enable': True, 'fixed_date': '', 'gid': '8202cf39-be73-4a66-b48d-38e1ab850c4e', 'id': '0', 'key': '2b47fd7c423e26aba4c1fd15e64adceb', 'name': '测试围栏名称', 'points': '', 'radius': 2000.0, 'repeat': 'Mon,Tues,Wed,Thur,Fri,Sat,Sun', 'time': '00:00,11:59;13:00,20:59', 'valid_time': '2022-04-19'}, {'adcode': '0', 'alert_condition': 'enter;leave', 'center': '115.672126,38.817129', 'create_time': '2020-04-22 23:32:08', 'enable': True, 'fixed_date': '', 'gid': '89613f1e-7297-4c89-b46c-de6a880f821e', 'id': '0', 'key': '2b47fd7c423e26aba4c1fd15e64adceb', 'name': '测试围栏名称', 'points': '', 'radius': 2100.0, 'repeat': 'Mon,Tues,Wed,Thur,Fri,Sat,Sun', 'time': '00:00,11:59;13:00,20:59', 'valid_time': '2022-04-19'}], 'total_record': 3}, 'errcode': 0, 'errdetail': None, 'errmsg': 'OK', 'ext': None}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>errcode</th>\n",
       "      <th>errdetail</th>\n",
       "      <th>errmsg</th>\n",
       "      <th>ext</th>\n",
       "      <th>data.page_no</th>\n",
       "      <th>data.page_size</th>\n",
       "      <th>data.rs_list</th>\n",
       "      <th>data.total_record</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>None</td>\n",
       "      <td>OK</td>\n",
       "      <td>None</td>\n",
       "      <td>1</td>\n",
       "      <td>20</td>\n",
       "      <td>[{'adcode': '0', 'alert_condition': 'enter;lea...</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   errcode errdetail errmsg   ext  data.page_no  data.page_size  \\\n",
       "0        0      None     OK  None             1              20   \n",
       "\n",
       "                                        data.rs_list  data.total_record  \n",
       "0  [{'adcode': '0', 'alert_condition': 'enter;lea...                  3  "
      ]
     },
     "execution_count": 237,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# L2\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> search函数\n",
    "def search(id=None,gid=None,name=None,page_no=1,page_size=20,enable=None,start_time=None,end_time=None)->dict:\n",
    "    \"\"\"查询地理围栏\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v4/geofence/meta'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'id':id, \n",
    "        'gid':gid,\n",
    "        'name':name,\n",
    "        'page_no':page_no, \n",
    "        'page_size':page_size,\n",
    "        'enable':enable,\n",
    "        'start_time':start_time,\n",
    "        'end_time':end_time,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用search函数\n",
    "# 思考：此功能运用了机器学习、可能运用到AI：当游客或者骑友定位地址进入到对应的景点的地理围栏里面，则播报景点相关的报道语音。\n",
    "search_geofence = search()\n",
    "print(search_geofence)\n",
    "\n",
    "# pandas\n",
    "df_search_geofence = pd.json_normalize(search_geofence)\n",
    "df_search_geofence"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 更新围栏\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/geofence_service#t7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "200\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'data': {'message': '成功', 'status': '0'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# L3\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> update函数\n",
    "def update()->dict:\n",
    "    \"\"\"更新地理围栏\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v4/geofence/meta'\n",
    "    gid = '89613f1e-7297-4c89-b46c-de6a880f821e'\n",
    "    # 请求主体\n",
    "    body = {\n",
    "        \"name\": \"更新圆形围栏\", #必填\n",
    "        \"center\": \"116.328037,39.962379\",\n",
    "        \"radius\": \"1148.8\",\n",
    "        \"valid_time\": \"2022-06-30\",\n",
    "        \"repeat\": \"Mon,Wed,Fri,Sat,Sun\",\n",
    "        \"time\": \"07:00,12:00;15:00,21:00\",\n",
    "        \"desc\": \"更新圆形围栏描述\",\n",
    "        \"alert_condition\": \"enter\"\n",
    "    }\n",
    "    # 请求参数\n",
    "    params = {\n",
    "        'key':key,\n",
    "        'gid':gid,\n",
    "        'output':'json'\n",
    "    }\n",
    "    r = requests.patch(url,json=body,params=params) #注：patch方法\n",
    "    print(r.status_code)\n",
    "    data = r.json()\n",
    "    return data\n",
    "\n",
    "# 调用update函数\n",
    "# 思考：此功能运用了机器学习、可能运用到AI：当游客或者骑友定位地址进入到对应的景点的地理围栏里面，则播报景点相关的报道语音。\n",
    "update_geofence = update()\n",
    "update_geofence"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 围栏启动&停止\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/geofence_service#t8"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "200\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'data': {'message': '成功', 'status': '0'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# L4\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> startstop函数\n",
    "def startstop()->dict:\n",
    "    \"\"\"启动\\停止地理围栏\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v4/geofence/meta'\n",
    "    gid = '89613f1e-7297-4c89-b46c-de6a880f821e'\n",
    "    # 请求主体\n",
    "    body = {\n",
    "        \"enable\": \"false\" #围栏激活状态；不能与更新围栏参数同时存在\n",
    "    }\n",
    "    # 请求参数\n",
    "    params = {\n",
    "        'key':key,\n",
    "        'gid':gid,\n",
    "        'output':'json'\n",
    "    }\n",
    "    r = requests.patch(url,json=body,params=params) #注：patch方法\n",
    "    print(r.status_code)\n",
    "    data = r.json()\n",
    "    return data\n",
    "\n",
    "# 调用startstop函数\n",
    "# 思考：此功能运用了机器学习、可能运用到AI：当游客或者骑友定位地址进入到对应的景点的地理围栏里面，则播报景点相关的报道语音。\n",
    "startstop_geofence = startstop()\n",
    "startstop_geofence"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 删除围栏\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/geofence_service#t9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "200\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'data': {'message': '成功', 'status': '0'},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# L5\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> delete函数\n",
    "def delete()->dict:\n",
    "    \"\"\"删除地理围栏\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v4/geofence/meta'\n",
    "    gid = '89613f1e-7297-4c89-b46c-de6a880f821e'\n",
    "    # 请求主体(放上对应gid的围栏信息，可在查询围栏找到)\n",
    "    body = {\n",
    "        \"name\": \"更新圆形围栏\", \n",
    "        \"center\": \"116.328037,39.962379\",\n",
    "        \"radius\": \"1148.8\",\n",
    "        \"valid_time\": \"2022-06-30\",\n",
    "        \"repeat\": \"Mon,Wed,Fri,Sat,Sun\",\n",
    "        \"time\": \"07:00,12:00;15:00,21:00\",\n",
    "        \"desc\": \"更新圆形围栏描述\",\n",
    "        \"alert_condition\": \"enter\"\n",
    "    }\n",
    "    # 请求参数\n",
    "    params = {\n",
    "        'key':key,\n",
    "        'gid':gid,\n",
    "        'output':'json'\n",
    "    }\n",
    "    r = requests.delete(url,json=body,params=params) #注：delete方法\n",
    "    print(r.status_code)\n",
    "    data = r.json()\n",
    "    return data\n",
    "\n",
    "# 调用delete函数\n",
    "# 思考：此功能运用了机器学习、可能运用到AI：当游客或者骑友定位地址进入到对应的景点的地理围栏里面，则播报景点相关的报道语音。\n",
    "delete_geofence = delete()\n",
    "delete_geofence"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 围栏设备监控\n",
    "\n",
    "查询设备与附近的围栏交互状态。例如是否在围栏中，是否进出围栏；若未在围栏中，返回最近围栏的信息等。\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/geofence_service#t10\n",
    "\n",
    "- 获取时间戳：https://tool.lu/timestamp/"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'data': {'fencing_event_list': [],\n",
       "  'nearest_fence_distance': '2000.0',\n",
       "  'status': 0},\n",
       " 'errcode': 0,\n",
       " 'errdetail': None,\n",
       " 'errmsg': 'OK',\n",
       " 'ext': None}"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# L6\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> status函数\n",
    "def status(diu,locations,uid=None,sig=None)->dict:\n",
    "    \"\"\"查询设备与附近的围栏交互状态\"\"\"\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    url = 'https://restapi.amap.com/v4/geofence/status'\n",
    "    params={\n",
    "        'key':key,\n",
    "        'diu':diu, #用户设备唯一标识符\n",
    "        'locations':locations, #设备位置坐标组 数据为坐标数据和坐标产生的时间戳数据，至少包含一个坐标对和时间戳。\n",
    "        'uid':uid, #设备在开发者自有系统中的id\n",
    "        'sig':sig,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.get(url,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用status函数\n",
    "# 思考：此功能运用了机器学习、可能运用到AI：当游客或者骑友定位地址进入到对应的景点的地理围栏里面，则播报景点相关的报道语音。\n",
    "status_geofence=status(diu='359312061408908',locations='115.972971,22.534607,1587615795')\n",
    "status_geofence"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### ⑬ 轨迹纠偏\n",
    "\n",
    "根据坐标点抓取道路，即根据给定的坐标点、车辆的方位角以及行驶速度，将用户的轨迹纠偏到路上，从而返回用户实际驾车经过的道路坐标。\n",
    "\n",
    "- API文档：https://developer.amap.com/api/webservice/guide/api/grasproad"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 230,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'data': {'distance': 33.0, 'points': [{'x': 116.44942000249563, 'y': 40.014843356125866}, {'x': 116.44945705955585, 'y': 40.01453960973057}]}, 'errcode': 0, 'errdetail': None, 'errmsg': 'OK', 'ext': None}\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>errcode</th>\n",
       "      <th>errdetail</th>\n",
       "      <th>errmsg</th>\n",
       "      <th>ext</th>\n",
       "      <th>data.distance</th>\n",
       "      <th>data.points</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>None</td>\n",
       "      <td>OK</td>\n",
       "      <td>None</td>\n",
       "      <td>33.0</td>\n",
       "      <td>[{'x': 116.44942000249563, 'y': 40.01484335612...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   errcode errdetail errmsg   ext  data.distance  \\\n",
       "0        0      None     OK  None           33.0   \n",
       "\n",
       "                                         data.points  \n",
       "0  [{'x': 116.44942000249563, 'y': 40.01484335612...  "
      ]
     },
     "execution_count": 230,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# M1\n",
    "\n",
    "import requests\n",
    "import pandas as pd\n",
    "\n",
    "# 封装--> grasproad函数\n",
    "def grasproad()->dict:\n",
    "    \"\"\"根据用户输入的内容能够返回希望查询的交通态势情况\"\"\"\n",
    "    url = 'https://restapi.amap.com/v4/grasproad/driving'\n",
    "    key = \"2b47fd7c423e26aba4c1fd15e64adceb\"\n",
    "    # 请求主体 (注意这里是字典)\n",
    "    body=[\n",
    "        {\"x\": 116.449429,\"y\": 40.014844,\"sp\": 4,\"ag\": 110,\"tm\": 1478831753}, \n",
    "        {\"x\": 116.449639,\"y\": 40.014776,\"sp\": 3,\"ag\": 110,\"tm\": 23}, \n",
    "        {\"x\": 116.449859,\"y\": 40.014716,\"sp\": 3,\"ag\": 111,\"tm\": 33}, \n",
    "        {\"x\": 116.450074,\"y\": 40.014658,\"sp\": 3,\"ag\": 110,\"tm\": 31},\n",
    "        {\"x\": 116.450273,\"y\": 40.014598,\"sp\": 3,\"ag\": 111,\"tm\": 20}\n",
    "    ]\n",
    "    params={\n",
    "        'key':key,\n",
    "        'output':'json'\n",
    "    }\n",
    "    response = requests.post(url,json=body,params=params)\n",
    "    data = response.json()\n",
    "    return data\n",
    "\n",
    "# 调用grasproad函数\n",
    "# 思考：此功能运用了机器学习、可能运用AI引导正确路线来进行无人驾驶\n",
    "北三环路 = grasproad()\n",
    "print(北三环路)\n",
    "\n",
    "# pandas\n",
    "df_北三环路 = pd.json_normalize(北三环路)\n",
    "df_北三环路\n",
    "\n",
    "# 坑：post方法需在函数中加body并把请求的参数放进去"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 设计应用\n",
    "\n",
    "**<<居住区疫情地图>>**\n",
    "\n",
    "运用获取地理编码、搜索POI、地理围栏三个API功能\n",
    "\n",
    "1、通过用户设备允许获取位置信息来获取地理编码\n",
    "\n",
    "2、将获取的地理编码用于判断用户是否在居住区内的周边商店出现过\n",
    "\n",
    "3、在居住区范围内看用户是否离开过此居住区"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "207.313px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
